Class loading problem with websphere 6.1
Hello
We have a jsf application that works fine with tomcat as well as jboss. Now we need to deploy on websphere 6.1 and encounter some problem.
We followed the specifications of this link [regarding jsf and Weblogic|http://www-01.ibm.com/support/docview.wss?uid=swg21243668] , i.e. made the myfaces jars a shared library (left tomahawk libs in webapp though).
Now i get java.lang.ClassCastException: javax.faces.component.UIViewRoot incompatible with com.opentext.docviewer.ui.component.toolbar.Toolbar
at com.opentext.docviewer.ui.component.toolbar.ToolbarTag.setProperties(ToolbarTag.java:66)
at javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:536)
at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:312)
at com.ibm._jsp._toolbar._jspx_meth_dv_toolBar_0(_toolbar.java:183)
at com.ibm._jsp._toolbar._jspService(_toolbar.java:87)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)I wrote a small jsp page that showed me the clasloader order of the class javax.faces.component.UIViewRoot and got this:
System path
Webapp path
* bundleresource://31/javax/faces/component/UIViewRoot.class
* wsjar:file:/E:/shared/myfaces/myfaces-api-1.1.4.jar!/javax/faces/component/UIViewRoot.class
So somehow there is a "bundleresource"?
I changed the classloading mechanisms accoording to the link mentioned above, but now i run out of ideas :-(
Regards
Edited by: mark1971 on Sep 10, 2008 2:21 AM
Hi Per,
Is this a reproducible exception? Looking at the source code, it comes from an impossible place:
try
// commit logic
catch (RuntimeException e)
log("CoherenceRA: Commit failed:\n" + getStackTrace(e));
rollback();
LocalTransactionException lte = new LocalTransactionException(e.toString()); // line 37!!!
lte.setLinkedException(e);
throw lte;
}As you can see, the NPE on line 37 could only come as a result of the "e == null" condition, which would be against the "catch" contract.
I wonder if you run any profiling, debugging tool or AOP framework that "instruments" the resource adapter code and causes an NPE in a place that cannot throw it?
Regards,
Gene
Similar Messages
-
WebLog 9 Class loader problem with an Inbound Resource Adapter
The following code
MessageEndpoint messageEndPoint = null;
InboundListener listener = null;
messageEndPoint = this.messageEndpointFactory.createEndpoint(null);
listener = (InboundListener) messageEndPoint;
causes a ClassCastException as the Listener class is packaged both in the ResourceAdapter and in the EAR
holding the MessageDrivenBean: same class but two
different class loaders !
How can I solve this problem ?Turning on Debugging, found the problem:
<[JCABindingManager] activationSpec=null>
<[JCABindingManager] The activationSpec is null, deActivation is skipped>
In the application.xml, I had
1. ejb (mdb) module and then
2. connector module
Changed the application.xml to
1. connector module and then
2. ejb (mdb) module
container then called endpointDeactivation on undeployment. -
Plz help me out with class loader problem
hai forum members,
I have a code which loads class files from local disk.
It works fine with some classes ,
But i get this exception when i am selecting certain other class files
I am using jdeveloper.
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Filter (wrong name: project1/Filter)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at com.jutframe.JavaUnitTester.selectClass_actionPerformed(JavaUnitTester.java:449)
at com.jutframe.JavaUnitTester$7.actionPerformed(JavaUnitTester.java:338)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1766)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
JFileChooser jfilechooser=new JFileChooser();
Filterclass filter=new Filterclass();
//Set selection mode for file chooser
jfilechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
//set file filter
jfilechooser.setFileFilter(filter);
int returnVal = jfilechooser.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION)
try
String str = jfilechooser.getSelectedFile().getName();
String parent=jfilechooser.getSelectedFile().getParent();
// Create a File object on the root of the directory containing the class file
File file = new File(parent);
// Convert File to a URL
URL url = file.toURL();
URL[] urls = new URL[]{url};
// Create a new class loader with the directory
ClassLoader cl = new URLClassLoader(urls);
StringTokenizer st = new StringTokenizer(str,".");
String s = st.nextToken ();
Class c = cl.loadClass(s); //ERROR IS SHOWN IN THIS PARTICULAR LINE
Object instance=c.newInstance();
--------------------------------------------please help me trace my mistake.
thank you all.i think the problem that i have set a particular class path for my class files and my application loads files from that alone.
So plz tell me if theres any way to access the class path of a particular file dynamically?
regards -
Application Class Loader problem calling virtual function
Hello everyone
I have run in to very strange behavior of JVM
I have created a class loader which allows my to load classes from
jar file, regardless that URLClassLoader supplies this functionality.
I am using this class loader to load some classes and call their virtual functions. The class diagram looks like that:
public interface I {
public void init();
public class AAA implements
public void init(){
public class BBB extends AAA{
public void init(){
//here comes implementation
}Interface I and class AAA are loaded with System Class loader and Class BBB is loaded using my class loader from jar file.
ByteStreamClassLoader classLoader = new ByteStreamClassLoader ();
Class cl = classLoader. loadClass(�com.product.BBB�,true);
I myInterface = cl.newInstance();
myInterface.init();The problem is that from some unknown reason java class AAA.init() instead of BBB.init().
Can somebody help me what am I doing wrong?
Class Loader code attached below
public class ByteStreamClassLoader extends ClassLoader {
protected HashMap m_cache = new HashMap();
public void clearCashe() {
m_cache = new HashMap();
private String definePackage(String className) {
StringBuilder strB = new StringBuilder();
//Class name must be removed from the URI in order to define a package
String[] packageArray = className.split("\\.");
for (int i = 0; i < packageArray.length - 1; i++) {
strB.append(packageArray).append(".");
String packageName = strB.toString();
packageName = packageName.substring(0, packageName.length() - 1);
if (getPackage(packageName) == null) {
m_logger.log(Level.FINEST, "Defining package '" + packageName + "'");
definePackage(packageName, null, null, null, null, null, null, null);
return packageName;
public synchronized Class loadClass(String name, boolean resolve) throws
ClassNotFoundException {
name = name.replaceAll("/", ".").replaceAll(".class", "");
//Try to locate the Class in cashe
Class c = (Class) m_cache.get(name);
//Try to locate the Class in the System Class Loader
if (c == null) {
try {
c = ClassLoader.getSystemClassLoader().loadClass(name);
catch (Exception ex) {}
else {
m_logger.log(Level.FINEST, "Class '" + name + "' found in cache");
//Load the class from byte array
if (c == null) {
String resourceName = name;
if (!resourceName.endsWith(".class")) {
resourceName = resourceName.concat(".class");
//Retrieve class byte representation
if (resourceName.indexOf(".") != -1) {
resourceName =
resourceName.replaceAll("\\.", "/").replaceAll("/class", ".class");
//Use the ByteStreamClassLoader to load the class from byte array
byte[] classByteArray = null;
try {
classByteArray = getResourceBytes(resourceName);
catch (IOException ex1) {
throw new ClassNotFoundException(
"Could not load class data." + ex1.getMessage());
m_logger.log(
Level.FINEST, "Loading class '" +
name + "' Byte Length: " + classByteArray.length);
String p = definePackage(name);
c = defineClass(
name,
classByteArray,
0,
classByteArray.length,
ByteStreamClassLoader.class.getProtectionDomain());
m_cache.put(name, c);
if (resolve) {
resolveClass(c);
return c;Hello everyone
I have run in to very strange behavior of JVM
I have created a class loader which allows my to load classes from
jar file, regardless that URLClassLoader supplies this functionality.
I am using this class loader to load some classes and call their virtual functions. The class diagram looks like that:
public interface I {
public void init();
public class AAA implements
public void init(){
public class BBB extends AAA{
public void init(){
//here comes implementation
}Interface I and class AAA are loaded with System Class loader and Class BBB is loaded using my class loader from jar file.
ByteStreamClassLoader classLoader = new ByteStreamClassLoader ();
Class cl = classLoader. loadClass(�com.product.BBB�,true);
I myInterface = cl.newInstance();
myInterface.init();The problem is that from some unknown reason java class AAA.init() instead of BBB.init().
Can somebody help me what am I doing wrong?
Class Loader code attached below
public class ByteStreamClassLoader extends ClassLoader {
protected HashMap m_cache = new HashMap();
public void clearCashe() {
m_cache = new HashMap();
private String definePackage(String className) {
StringBuilder strB = new StringBuilder();
//Class name must be removed from the URI in order to define a package
String[] packageArray = className.split("\\.");
for (int i = 0; i < packageArray.length - 1; i++) {
strB.append(packageArray).append(".");
String packageName = strB.toString();
packageName = packageName.substring(0, packageName.length() - 1);
if (getPackage(packageName) == null) {
m_logger.log(Level.FINEST, "Defining package '" + packageName + "'");
definePackage(packageName, null, null, null, null, null, null, null);
return packageName;
public synchronized Class loadClass(String name, boolean resolve) throws
ClassNotFoundException {
name = name.replaceAll("/", ".").replaceAll(".class", "");
//Try to locate the Class in cashe
Class c = (Class) m_cache.get(name);
//Try to locate the Class in the System Class Loader
if (c == null) {
try {
c = ClassLoader.getSystemClassLoader().loadClass(name);
catch (Exception ex) {}
else {
m_logger.log(Level.FINEST, "Class '" + name + "' found in cache");
//Load the class from byte array
if (c == null) {
String resourceName = name;
if (!resourceName.endsWith(".class")) {
resourceName = resourceName.concat(".class");
//Retrieve class byte representation
if (resourceName.indexOf(".") != -1) {
resourceName =
resourceName.replaceAll("\\.", "/").replaceAll("/class", ".class");
//Use the ByteStreamClassLoader to load the class from byte array
byte[] classByteArray = null;
try {
classByteArray = getResourceBytes(resourceName);
catch (IOException ex1) {
throw new ClassNotFoundException(
"Could not load class data." + ex1.getMessage());
m_logger.log(
Level.FINEST, "Loading class '" +
name + "' Byte Length: " + classByteArray.length);
String p = definePackage(name);
c = defineClass(
name,
classByteArray,
0,
classByteArray.length,
ByteStreamClassLoader.class.getProtectionDomain());
m_cache.put(name, c);
if (resolve) {
resolveClass(c);
return c; -
Dynamic class loading problem using unknown JAR archive and directory names
I read the following article, which enlightened me a lot:
Ted Neward: Understanding Class.forName().
However, it took me some while to understand that my problem is the other way around:
I know the name of the class, I know the name of the method,
but my program/JVM does not know where to load the classes from.
Shortly, my problem is that the server engine that I am writing
uses two different versions of the same library.
So I am trying out the following solution:
My program is named TestClassPathMain.java
Assume the two libraries are named JAR1.jar and JAR2.jar
and the class/instance method that should
be exposed to TestClassPathMain.java by them is named
TestClass1.testMethod().
As long as I was depending on just one library,
I put JAR1.jar in the classpath before starting java,
and I was happy for a while.
At the moment I got the need to use another version of
TestClass1.testMethod() packaged in JAR2.jar,
a call would always access JAR1.jar's
TestClass1.testMethod().
I then decided to remove JAR1.jar from the classpath,
and programmatically define two separate ClassLoaders, one for use
with JAR1.jar and the other for use with JAR2.jar.
However, the problem is only partly solved.
Please refer to the enclosed code for details.
(The code in the JAR1.jar/JAR2.jar is extremely simple,
it just tells (by hardcoding) the name of the jar it is packaged in
and instantiates another class packaged in the same jar using
the "new" operator and calls a method on it. I don't enclose it.)
The TestClassPathMain.java/UC1.java/UC2.java code suite was
successfully compiled with an arbitrary of JAR1 or JAR2 in the classpath,
however removed from the classpath at runtime.
(I know that this could have been done (more elegantly...?) by producing an Interface,
but I think the main problem principle is still untouched by this potential lack of elegancy(?))
1) This problem should not be unknown to you experts out there,
how is it generally and/or most elegantly solved?
The "*** UC2: Variant 2" is the solution I would like best, had it only worked.
2) And why arent "*** UC2: Variant 2" and
"*** static UC2: Variant 2" working,
while "*** Main: Variant 2" is?
3) And a mal-apropos:
Why can't I catch the NoClassDefFoundError?
The output:
*** Main: Variant 1 JAR 1 ***:
Entering TestClass1.testMethod() packaged in JAR1.jar
About to instantiate TestClass2 with the new operator
About to call TestClass2.testMethod()
Entering TestClass2.testMethod() packaged in JAR1.jar
*** Main: Variant 1 JAR 2 ***:
Entering TestClass1.testMethod() packaged in JAR2.jar
About to instantiate TestClass2 with the new operator
About to call TestClass2.testMethod()
Entering TestClass2.testMethod() packaged in JAR2.jar
*** Main: Variant 2 JAR 1 ***:
Entering TestClass1.testMethod() packaged in JAR1.jar
About to instantiate TestClass2 with the new operator
About to call TestClass2.testMethod()
Entering TestClass2.testMethod() packaged in JAR1.jar
*** Main: Variant 2 JAR 2 ***:
Entering TestClass1.testMethod() packaged in JAR2.jar
About to instantiate TestClass2 with the new operator
About to call TestClass2.testMethod()
Entering TestClass2.testMethod() packaged in JAR2.jar
*** UC1: Variant 1 JAR 1 ***:
Entering TestClass1.testMethod() packaged in JAR1.jar
About to instantiate TestClass2 with the new operator
About to call TestClass2.testMethod()
Entering TestClass2.testMethod() packaged in JAR1.jar
*** UC1: Variant 1 JAR 2 ***:
Entering TestClass1.testMethod() packaged in JAR2.jar
About to instantiate TestClass2 with the new operator
About to call TestClass2.testMethod()
Entering TestClass2.testMethod() packaged in JAR2.jar
*** static UC2: Variant 2 JAR 1 ***:
Exception in thread "main" java.lang.NoClassDefFoundError: TestClass1
at UC2.runFromJarVariant2_static(UC2.java:56)
at TestClassPathMain.main(TestClassPathMain.java:52)
TestClassPathMain.java
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
public class TestClassPathMain {
public static void main(final String args[]) throws MalformedURLException, ClassNotFoundException, InstantiationException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
// Commented out because I cannot catch the NoClassDefFoundError.
// Why?
try {
final TestClass1 testClass1 = new TestClass1();
System.out.println(
"\nThe class TestClass1 is of some unexplicable reason available." +
"\nFor the purpose of the test, it shouldn't have been!" +
"\nExiting");
System.exit(1);
} catch (NoClassDefFoundError e) {
System.out.println("\nPositively confirmed that the class TestClass1 is not available:\n" + e);
System.out.println("\n\nREADY FOR THE TEST: ...");
// Works fine
System.out.println("\n*** Main: Variant 1 JAR 1 ***:");
runFromJarVariant1("file:/W:/java/eclipse/workspaces/simped_test/CP1/JAR1.jar");
System.out.println("\n*** Main: Variant 1 JAR 2 ***:");
runFromJarVariant1("file:/W:/java/eclipse/workspaces/simped_test/CP2/JAR2.jar");
// Works fine
System.out.println("\n*** Main: Variant 2 JAR 1 ***:");
runFromJarVariant1("file:/W:/java/eclipse/workspaces/simped_test/CP1/JAR1.jar");
System.out.println("\n*** Main: Variant 2 JAR 2 ***:");
runFromJarVariant1("file:/W:/java/eclipse/workspaces/simped_test/CP2/JAR2.jar");
// Works fine
final UC1 uc1 = new UC1();
System.out.println("\n*** UC1: Variant 1 JAR 1 ***:");
uc1.runFromJarVariant1("file:/W:/java/eclipse/workspaces/simped_test/CP1/JAR1.jar");
System.out.println("\n*** UC1: Variant 1 JAR 2 ***:");
uc1.runFromJarVariant1("file:/W:/java/eclipse/workspaces/simped_test/CP2/JAR2.jar");
// Crashes
System.out.println("\n*** static UC2: Variant 2 JAR 1 ***:");
UC2.runFromJarVariant2_static("file:/W:/java/eclipse/workspaces/simped_test/CP1/JAR1.jar");
System.out.println("\n*** static UC2: Variant 2 JAR 2 ***:");
UC2.runFromJarVariant2_static("file:/W:/java/eclipse/workspaces/simped_test/CP2/JAR2.jar");
// Crashes
final UC2 uc2 = new UC2();
System.out.println("\n*** UC2: Variant 2 JAR 1 ***:");
uc2.runFromJarVariant2("file:/W:/java/eclipse/workspaces/simped_test/CP1/JAR1.jar");
System.out.println("\n*** UC2: Variant 2 JAR 2 ***:");
uc2.runFromJarVariant2("file:/W:/java/eclipse/workspaces/simped_test/CP2/JAR2.jar");
private static void runFromJarVariant1(final String jarFileURL)
throws MalformedURLException,
ClassNotFoundException,
InstantiationException,
IllegalArgumentException,
IllegalAccessException,
InvocationTargetException,
SecurityException,
NoSuchMethodException {
final URL url = new URL(jarFileURL);
final URLClassLoader cl =
new URLClassLoader(new URL[]{url},
Thread.currentThread().getContextClassLoader());
final Class clazz = cl.loadClass("TestClass1");
final Object testClass1 = clazz.newInstance();
final Method testMethod1 = clazz.getMethod("testMethod", null);
testMethod1.invoke(testClass1, null);
private static void runFromJarVariant2(final String jarFileURL)
throws MalformedURLException,
ClassNotFoundException,
InstantiationException,
IllegalArgumentException,
IllegalAccessException,
InvocationTargetException,
SecurityException,
NoSuchMethodException {
final URL url = new URL(jarFileURL);
final URLClassLoader cl =
new URLClassLoader(new URL[]{url},
Thread.currentThread().getContextClassLoader());
final Class clazz = cl.loadClass("TestClass1");
final TestClass1 testClass1 = new TestClass1();
testClass1.testMethod();
UC1.java
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
public class UC1 {
public void runFromJarVariant1(final String jarFileURL)
throws MalformedURLException,
ClassNotFoundException,
InstantiationException,
IllegalArgumentException,
IllegalAccessException,
InvocationTargetException,
SecurityException,
NoSuchMethodException {
final URL url = new URL(jarFileURL);
final URLClassLoader cl =
new URLClassLoader(new URL[]{url},
Thread.currentThread().getContextClassLoader());
final Class clazz = cl.loadClass("TestClass1");
final Object testClass1 = clazz.newInstance();
final Method testMethod1 = clazz.getMethod("testMethod", null);
testMethod1.invoke(testClass1, null);
UC2.java
import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
public class UC2 {
public void runFromJarVariant2(final String jarFileURL)
throws MalformedURLException,
ClassNotFoundException,
InstantiationException,
IllegalArgumentException,
IllegalAccessException,
InvocationTargetException,
SecurityException,
NoSuchMethodException {
final URL url = new URL(jarFileURL);
final URLClassLoader cl =
new URLClassLoader(new URL[]{url},
Thread.currentThread().getContextClassLoader());
final Class clazz = cl.loadClass("TestClass1");
final TestClass1 testClass1 = new TestClass1();
testClass1.testMethod();
* Identic to the "runFromJarVariant2" method,
* except that it is static
public static void runFromJarVariant2_static(final String jarFileURL)
throws MalformedURLException,
ClassNotFoundException,
InstantiationException,
IllegalArgumentException,
IllegalAccessException,
InvocationTargetException,
SecurityException,
NoSuchMethodException {
final URL url = new URL(jarFileURL);
final URLClassLoader cl =
new URLClassLoader(new URL[]{url},
Thread.currentThread().getContextClassLoader());
final Class clazz = cl.loadClass("TestClass1");
final TestClass1 testClass1 = new TestClass1();
testClass1.testMethod();
}2. i need to load the class to the same JVM (i.e. to
the same environment) of the current running
aplication, so that when the loaded class is run, it
would be able to invoke methods on it!!!
ClassLoader(s) do this. Try the URLClassLoader.
(I was talking about relatively esoteric "security"
issues when I mentioned the stuff about Class objects
"scope".) You might use the URLClassLoader kind of
like this.
Pseudo-code follows:
// setup the class loader
URL[] urls = new URL[1];
urls[0] = new URL("/path/to/dynamic/classes");
URLClassLoader ucl = new URLClassLoader(urls);
// load a class & use make an object with the default constructor
Object tmp = ucl.loadClass("dynamic.class.name").newInstance();
// Cast the object to a know interface so that you can use it.
// This may be used to further determine which interface to cast
// the class to. Or it may simply be the interface to which all
// dynamic classes have to conform in your program.
InterfaceImplementedByDynamicClass loadedObj =
(InterfaceImplementedByDynamicClass)tmp;It's really not as hard as it sounds, just write a little test of
this and you will see how it works. -
Iwl3945 module loading problem (with workaround)
I've been experiencing problems with my intel wireless card (iwl3945) not loading at boot time. The problem arose after a fresh install from a Chakra (kdemod) live CD after I got a new harddrive for my notebook. It worked fine from the live CD and immediately post-install but when I upgraded the system with "pacman -Syu" (the kernel was upgraded as part of this) the card no longer loaded during boot (i.e. wlan0 would not show up under "ifconfig -a").
I checked some threads on the iwl3945 (e.g. http://bbs.archlinux.org/viewtopic.php? … 18#p638618 and http://bbs.archlinux.org/viewtopic.php?id=73876) but couldn't find quite the same behaviour so decided to start a new thread.
It's also similar to this thread (http://bbs.archlinux.org/viewtopic.php?id=82357), but this is not for the iwl3945.
The following is a log of the problem:
$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:15:C5:46:C6:6A
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:17
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1240 (1.2 Kb) TX bytes:1240 (1.2 Kb)
$ ifconfig wlan0 up
wlan0: unknown interface: No such device
$ lsmod | grep iwl
iwl3945 89020 0
iwlcore 107100 1 iwl3945
mac80211 155532 2 iwl3945,iwlcore
led_class 4000 3 sdhci,iwl3945,iwlcore
cfg80211 90428 3 iwl3945,iwlcore,mac80211
$ dmesg | grep iwl
iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.2.26ks
iwl3945: Copyright(c) 2003-2009 Intel Corporation
iwl3945 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
iwl3945 0000:0c:00.0: setting latency timer to 64
iwl3945 0000:0c:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
iwl3945 0000:0c:00.0: Detected Intel Wireless WiFi Link 3945ABG
iwl3945 0000:0c:00.0: irq 28 for MSI/MSI-X
iwl3945 0000:0c:00.0: Failed to register hw (error -2)
iwl3945 0000:0c:00.0: PCI INT A disabled
iwl3945: probe of 0000:0c:00.0 failed with error -2
Here is my rc.conf
# /etc/rc.conf - Main Configuration for Arch Linux
# LOCALIZATION
# LOCALE: available languages can be listed with the 'locale -a' command
# HARDWARECLOCK: set to "UTC" or "localtime", any other value will result
# in the hardware clock being left untouched (useful for virtualization)
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
LOCALE="en_GB.utf8"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Dublin"
KEYMAP="uk"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"
# HARDWARE
# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed
# MOD_BLACKLIST: Prevent udev from loading these modules
# MODULES: Modules to load at boot-up. Prefix with a ! to blacklist.
# NOTE: Use of 'MOD_BLACKLIST' is deprecated. Please use ! in the MODULES array.
MOD_AUTOLOAD="yes"
#MOD_BLACKLIST=() #deprecated
MODULES=(b44 mii !ipw3945 iwlcore pcspkr snd-mixer-oss snd-pcm-oss snd-hwdep snd-page-alloc snd-pcm snd-timer snd snd-hda-codec snd-hda-intel soundcore)
# Scan for LVM volume groups at startup, required if you use LVM
USELVM="no"
# NETWORKING
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
HOSTNAME="alex-xps"
# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces.
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
# - prefix an entry in INTERFACES with a ! to disable it
# - no hyphens in your interface names - Bash doesn't like it
eth0="dhcp"
# Wireless: See network profiles below
wlan0="dhcp"
#Static IP example
#eth0="eth0 134.226.144.162 netmask 255.255.0.0 broadcast 134.226.255.255"
INTERFACES=(!eth0 !eth1 !wlan0)
# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
# - prefix an entry in ROUTES with a ! to disable it
gateway="default gw 192.168.0.1"
ROUTES=(!gateway)
# Enable these network profiles at boot-up. These are only useful
# if you happen to need multiple network configurations (ie, laptop users)
# - set to 'menu' to present a menu during boot-up (dialog package required)
# - prefix an entry with a ! to disable it
# Network profiles are found in /etc/network.d
# This now requires the netcfg package
#NETWORKS=(main)
# DAEMONS
# Daemons to start at boot-up (in this order)
# - prefix a daemon with a ! to disable it
# - prefix a daemon with a @ to start it up in the background
DAEMONS=(syslog-ng hal !network wicd !networkmanager avahi-daemon avahi-dnsconfd alsa cdemud kdm)
I read somewhere that there was an issue with kill switches and that rfkill may help so I installed it from AUR. However, there didn't seem to be any block:
$ rfkill list
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
2: dell-wifi: Wireless LAN
Soft blocked: no
Hard blocked: no
3: dell-bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
I also tried creating a modprobe.conf file as suggested in some quarters (/etc/modprobe.d/iwl3945.conf):
alias wlan0 iwl3945
options iwl3945 disable_hw_scan=1
Sadly still no luck on a reboot.
After much pulling of hair the following workaround finally did it for me. Basically even though the module doesn't load during boot I can remove it and then modprobe it manually and it then works so that I can bring up the interface:
# rmmod iwl3945
# modprobe iw3945
# ifconfig wlan0 up
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:15:C5:46:C6:6A
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:17
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:24 errors:0 dropped:0 overruns:0 frame:0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1240 (1.2 Kb) TX bytes:1240 (1.2 Kb)
wlan0 Link encap:Ethernet HWaddr 00:18:DE:1E:7B:46
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
wmaster0 Link encap:UNSPEC HWaddr 00-18-DE-1E-7B-46-00-00-00-00-00-00-00-00-00-00
UP RUNNING MTU:0 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
I can then use wicd to connect to my router at home (networkmanager doesn't seem to work for me with the same settings).
Hopefully this may be of some use to someone with the same issue and to any kernel gurus that may be scanning this section of the forum.I tinkered with the rfkill module as suggested.
First checked what the default behaviour was
$ lsmod | grep rfkill
rfkill 19728 3 bluetooth,dell_laptop,cfg80211
Then blacklisted rfkill in rc.conf using "!rfkill" in the modules line
$ lsmod | grep rfkill
rfkill 19728 1 cfg80211
Unfortunately I still had to manually remove and reload iwl3945 as before.
I tried inserting the options in modprobe.conf suggested by you in your other post
# /etc/modprobe.d/modprobe.conf (for v2.6 kernels)
options bluetooth rfkill=0
options dell_laptop rfkill=0
After a reboot still no wireless activity and checking rfkill module gives same as for blacklisting in rc.conf, i.e. ...
$ lsmod | grep rfkill
rfkill 19728 1 cfg80211
So still manually un/reloading as before. At least the workaround is not too labour intensive. -
Class loading works with jre1.3.1 but not with jre1.4.0
Hello,
My JWS application use the following line to create an XMLReader:
XMLReader rdr = XMLReaderFactory.createXMLReader( "org.apache.xerces.parsers.SAXParser" );
Everything works fine with jre1.3.1, but with jre1.4.0 or jre1.4.1 I experience a very strange behaviour:
1) When my application is downloaded and executed for the first time, everthing works fine.
2) When I quit the application and I launch it again, an Exception is thrown (the system in unable to load the Class org.apache.xerces.parsers.SAXParser).
3) If I tell JWS to show the console, everthing works fine again. If I tell JWS not to show the console, the Class can't be loaded anymore.
Any idea ?Hi.
I have also been experiencing problems in using Java Web Start for my application. When i tried certain functions of my application like saving and updating, I will faced this problem:
javax.xml.soap.SOAPException: Unable to create SOAP connection factory: Provider com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory not found
In the previous email in the forum, it was said that this problem was overcame, but I do not really know to how apply the solution given below:
/* The following code is not used for now because
* the code in createXMLReader() which dynamically
* allocates the class does not work the with
* Web Start class loader.
* This can be used again once Sun starts shipping
* Xerces 2.x with the JRE. They have already changed
* the XML development pack to use Xerces 2.x instead
* of Crimson, but as of 1.4.1, they are not updating
* the JRE distribution.
//String className = System.getProperty("org.xml.sax.parser");
//if (className == null) className = "org.apache.xerces.parsers.SAXParser";
//try {
// tParser = XMLReaderFactory.createXMLReader(className);
//} catch (SAXException e) {
// tParser = XMLReaderFactory.createXMLReader();
XMLReader tParser = new org.apache.xerces.parsers.SAXParser()
Can anyone enlighten me on how to overcome the SOAP Factory problem? Thank you. -
Class loading issue with JDK 1.5
I have recently loaded JDK 1.5 on a laptop that previously had version 1.3. The java code I need to run stopped working and I getget a java.lang.NoClassDefFoundError. I am logging the classpath and I see the jar file with the offending class is there.
I checked my pathing even, since I know java will have a problem with slashes at the beginning of the path when it is called via command line. But all my pathing is absolute.
In the code, I am using C to start up the JVM and then use JNI to communicate between java and C. Because of this complexity, I have searched the forums for problems with JNI and JDK 1.5. I found a case where turning off the JIT compilation kept the JVM from crashing for some users having issues with 1.5, but this approach did not work for me. Not too surprising, though, since this is really a classloading issue.
Where do I go next? Anyone else having this problem?[http://java.sun.com/javase/6/docs/technotes/guides/security/SunProviders.html]
Reminder: Cryptographic implementations in the Sun JDK are distributed through several different providers
("Sun", "SunJSSE", "SunJCE", "SunRsaSign")
for both historical reasons and by the types of services provided.
General purpose applications SHOULD NOT request cryptographic services from specific providers. That is:
getInstance("...", "SunJCE"); // not recommended
vs.
getInstance("..."); // recommended
Otherwise, applications are tied to specific providers which may not be available on other Java implementations.
They also might not be able to take advantage of available optimized providers (for example, hardware
accelerators via PKCS11 or native OS implementations such as Microsoft's MSCAPI) that have a
higher preference order than the specific requested provider. -
Help Needed on a similar but not same class loader problem
Hi,
Please help...
There is a ClassLoader called MyLoader that overrides default findClass() method to decrypt already encrypted class files available in a separate jar file.
MyClass also contains a public static method launchMe() method that starts off with a call similar to loadClass("ApplicationMainClass");
The MyLoader class is also encrypted
I modified the default launcher (c) code to:
First find the encrypted MyLoader file then decrypt it and create a byte array.
The byte array, along with the system class loader and other required arguments, is passed to DefineClass native method (defined in jvm.dll)
Note: The system class loader class has been instantiated using static method ClassLoader.getSystemClassLoader() through Java's invocation API.
The DefineClass succeeds and I'm able to instantiate MyLoader and later call launchMe() to start application.
Now i come to the problem:
I'm not able to use any class other that those in rt.jar (i.e.standard classes) in MyLoader class. I end up with a runtime error ClassDefNotFoundError while trying to load any third party jar.
The classes i need are present in class path and also in the local jre's ext that i use to launch my app.
Although i can avoid using third party jar in MyLoader but if there is any way...
Piyushmake sure that third party jar resides in your library.....
or else put rt.jar and external jars under same folder
this is matter of path.... no else than this.......
cheers
Rajesh42 -
EP 6.20 Class loader issues with irj application
Hi All,
I have a servlet to interface with the SAP UM API. I had deployed this as a WAR, but the SAP UM cannot be initialised outside of the irj application (SAP Support advised this it is abailable outside the irj application in 6.40).
As a result, I tried to deploy it within the irj application - I copied my jars to the WEB-INF\lib directory, and modified the WEB-INF\web.xml to include a new servlet and servlet-mapping.
I also had to copy some other SAP supporting jars into WEB-INF\lib (the XML parser impls).
This works fine for the UM stuff. Ideally I'd like to redeploy the irj application so I don't have to hack the files and it would allow me to specify the additional libaries required, however there is now way I've found in the Deploy Tool to do this (you need the WAR of the irj application, or the project file). So this is problem 1.
Problem 2. The next extension included support for user mapping data.
Using -
IUserMapping iUserMapping = UMFactory.getUserMapping();
iUserMapping.getUserMappingData(systemAlias, iUser, mapLogonData);
I was able to read the mapping data, but this required knowing beforehand, all the system aliases. With a response from SAP Security, it was suggested
IUserMappingService iums = (IUserMappingService)PortalRuntime.getRuntimeResources().getService(IUserMappingService.KEY);
IUserMappingData mappingData = iums.getMappingData (systemAlias, iUser);
be used to obtain mapping data, and that
com.sap.portal.pcm.system.ISystems sysSrv = (ISystems)PortalRuntime.getRuntimeResources().getService(ISystems.KEY);
String[] systemAliases = sysSrv.getAliases();
be used to obtain the system aliases.
The problem is with the class loader. If I copy the jars with the classes for the IUserMappingService and the ISystems, to the irj WEB-INF\lib I cause a class def not found with other EP6 applications. This is also the case when I add them to the JVM classpath (I know this is bad - but it was a last resort!).
Hoping someone can help me redeploy irj with my application that will resolve problem 2! If not, maybe some advice on problem 2?
Cheers,
Scott...Hi Scott,
THis isnt an answer to ur Question, but could u tell me which jar files are needed for the packages:
com.sap.portal.pcm.system.ISystems
com.sap.portal.pcm.system.ISystem
and under which path I coul dfind them.
Thnx
Regards
Meesum. -
SQL Loader Problem with Date Format
Dear all,
I am dealing with a problem in loading data with SQL Loader. The problem is in the date format.
More specifically, I created the following Control File:
file.ctl
LOAD DATA
INFILE 'D:\gbal\chatium.log'
APPEND INTO TABLE CHAT_SL
FIELDS TERMINATED BY WHITESPACE
TRAILING NULLCOLS
(SL1 DATE "Mon DD, YYYY HH:MI:SS FF3AM",
SL2 char,
SL3 DATE "Mon DD, YYYY HH:MI:SS FF3AM",
SL4 char,
SL5 char,
SL6 char,
SL7 char,
SL8 char,
SL9 char,
SL10 char,
SL11 char,
SL12 char,
SL13 char,
SL14 char,
SL15 char)
The data we want to load are in the following file:
Apr 29, 2007 12:05:49 AM 1060615 Apr 29, 2007 12:05:35 AM 306978537730 24026384 chatium.user.userinfo WAP 0
Apr 29, 2007 12:12:51 AM 1061251 Apr 29, 2007 12:12:27 AM 306978537730 24026384 chatium.channel.list WAP 0
Apr 29, 2007 12:12:51 AM 1061264 Apr 29, 2007 12:12:32 AM 306978537730 24026384 chatium.channel.listdetail WAP 0
Apr 29, 2007 12:13:51 AM 1061321 Apr 29, 2007 12:13:31 AM 306978537730 24026384 chatium.user.search WAP 0
Apr 29, 2007 12:13:51 AM 1061330 Apr 29, 2007 12:13:37 AM 306978537730 24026384 chatium.user.userinfo WAP 0
The error log file is the following:
SQL*Loader: Release 9.2.0.1.0 - Production on Mon Apr 30 11:29:16 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Control File: file.ctl
Data File: D:\gbal\chatium.log
Bad File: chatium.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table CHAT_SL, loaded from every logical record.
Insert option in effect for this table: APPEND
TRAILING NULLCOLS option in effect
Column Name Position Len Term Encl Datatype
SL1 FIRST * WHT DATE MonDD,YYYYHH:MI:SS
SL2 NEXT * WHT CHARACTER
SL3 NEXT * WHT CHARACTER
SL4 NEXT * WHT CHARACTER
SL5 NEXT * WHT CHARACTER
SL6 NEXT * WHT CHARACTER
SL7 NEXT * WHT CHARACTER
SL8 NEXT * WHT CHARACTER
SL9 NEXT * WHT CHARACTER
SL10 NEXT * WHT CHARACTER
SL11 NEXT * WHT CHARACTER
SL12 NEXT * WHT CHARACTER
SL13 NEXT * WHT CHARACTER
SL14 NEXT * WHT CHARACTER
SL15 NEXT * WHT CHARACTER
Record 1: Rejected - Error on table CHAT_SL, column SL1.
ORA-01840: input value not long enough for date format
Record 2: Rejected - Error on table CHAT_SL, column SL1.
ORA-01840: input value not long enough for date format
Record 3: Rejected - Error on table CHAT_SL, column SL1.
ORA-01840: input value not long enough for date format
Record 4: Rejected - Error on table CHAT_SL, column SL1.
ORA-01840: input value not long enough for date format
I wonder if you could help me.
Thank you very much in advance.
Giorgos BaliotisSQL> select to_date('Apr 29, 2007 12:05:49 AM','Mon DD, YYYY HH:MI:SS FF3AM') from dual;
select to_date('Apr 29, 2007 12:05:49 AM','Mon DD, YYYY HH:MI:SS FF3AM') from dual
ERROR at line 1:
ORA-01821: date format not recognized
SQL> ed
Wrote file afiedt.buf
1* select to_date('Apr 29, 2007 12:05:49 AM','Mon DD, YYYY HH:MI:SS AM') from dual
SQL> /
TO_DATE(
29/04/07
SQL> Then, you defined blank space as separator, but there is spaces in your date inside your file. So, you should add double-quotes around the date field like below, and add optionally enclosed by '"' into your ctlfile.
"Apr 29, 2007 12:05:49 AM" 1060615 "Apr 29, 2007 12:05:35 AM" 306978537730 24026384 chatium.user.userinfo WAP 0
"Apr 29, 2007 12:12:51 AM" 1061251 "Apr 29, 2007 12:12:27 AM" 306978537730 24026384 chatium.channel.list WAP 0
"Apr 29, 2007 12:12:51 AM" 1061264 "Apr 29, 2007 12:12:32 AM" 306978537730 24026384 chatium.channel.listdetail WAP 0
"Apr 29, 2007 12:13:51 AM" 1061321 "Apr 29, 2007 12:13:31 AM" 306978537730 24026384 chatium.user.search WAP 0
"Apr 29, 2007 12:13:51 AM" 1061330 "Apr 29, 2007 12:13:37 AM" 306978537730 24026384 chatium.user.userinfo WAP 0Example :
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_concepts.htm#sthref477
Nicolas. -
Style Sheet Problem with Websphere
Hello. If anyone here has any experience with Websphere or iSeries, I would appreciate some help. I posted this topic in the Websphere forum , but it seems that forum isn't very active. Anyway, I can't get my style sheet to work with a java servlet application that I installed on an iSeries server. I put together the app and style sheet through WebSphere and exported everything to the server as an .ear file, installed the application and the program works; however, the app isn't accessing the style sheet. I'm new to both iSeries and Websphere. I've been trying this line:
writer.println("<LINK rel='stylesheet' type='text/css' href='Master.css'>");
and have tried putting the style sheet in the same folder as the class file, tried putting it in the Java Source folder, tried it all over the place really and have tried making the path absolute. I've also tried pasting the .java file into the classes folder with the .class file. None of my efforts have been successful. Is this even possible? Any help would be appreciated. Thank you.have tried putting the style sheet in the same folder as the class file, tried
putting it in the Java Source folder, tried it all over the place really...In your web application, it should go in the same directory where you would put an HTML file or a JSP file. All those places you tried are places that the web server keeps hidden from clients. You should be able to request the CSS file from your browser in exactly the same way you would request an HTML or JSP file. -
Crystal 11 - Latest Service Pack loaded - problem with Kyocera printer
Post Author: sorrock
CA Forum: Integrated Solutions
Hi
We are using Crystal 11 Report Writer, and Sage ACCPAC. Since Upgrading our ACCPAC all the crystal reports that ACCPAC utilises are coming up as garbage on the preview screen. I have ruled out a sage issue by opening crystal directly and opening the respective report, the garbage still appears, if I change the printer that it is set to then the report appears fine.
The printer is a Kyocera - fs-c8026n the driver is a Kyocera Mita extended Driver.
Any other printer is fine - so I am looking for anyone who has had problems with a Kyocera printing garbage.
I have loaded the latest service pack for Crystal.
Can anyone please help - apologies if I have put this on the incorrect forum
Thanks
StaceyHi Jim,
You can upgrade to CR XI R2 for free by downlaoding the trial version, install using your XI keycode and then getting a keycode for XI R2 to enable all features.
Or to upgrade XI only then install the latest service pack will bring you up to date.
Thank you
Don -
J2ee agent 2.2 configuration problem with Websphere Portal 5.1
Hi,
I am trying to configure j2ee agent 2.2 with Websphere Portal server.
I have followed the document "Sun Java SystemAccess Manager
PolicyAgent 2.2 Guide for IBM WebSphere Portal Server 5.1.0.2"
Please see the thread "Problem with Sun's SSO system and Websphere Portal Server integration" for environment related information.
Also the security on app server has been enabled and is talking to LDAP.
My aim here is to enable application server (portal server) to autheticate requests.
I am getting following error when I log into the portal application.
07/03/2007 06:32:16:062 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
AmFilter: now processing: SSO Task Handler
07/03/2007 06:32:16:062 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
SSOTaskHandler: SSO Validation failed for null
07/03/2007 06:32:16:062 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
URLFailoverHelper: Checking if https://apollo.maxnewyorklife.com:443/amserver/UI/Login is available
07/03/2007 06:32:16:078 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
WARNING: URLFailoverHelper: the url https://apollo.maxnewyorklife.com:443/amserver/UI/Login is not available
javax.net.ssl.SSLHandshakeException: unknown certificate
at com.ibm.jsse.bs.a(Unknown Source)
at com.ibm.jsse.bs.startHandshake(Unknown Source)
at com.ibm.net.ssl.www.protocol.https.b.o(Unknown Source)
at com.ibm.net.ssl.www.protocol.https.q.connect(Unknown Source)
at com.ibm.net.ssl.internal.www.protocol.https.HttpsURLConnection.connect(Unknown Source)
at com.sun.identity.agents.common.URLFailoverHelper.isAvailable(URLFailoverHelper.java:190)
at com.sun.identity.agents.common.URLFailoverHelper.getAvailableURL(URLFailoverHelper.java:129)
at com.sun.identity.agents.filter.AmFilterRequestContext.getLoginURL(AmFilterRequestContext.java:757)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:285)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:258)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:363)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:345)
at com.sun.identity.agents.filter.SSOTaskHandler.doSSOLogin(SSOTaskHandler.java:210)
at com.sun.identity.agents.filter.SSOTaskHandler.process(SSOTaskHandler.java:98)
at com.sun.identity.agents.filter.AmFilter.processTaskHandlers(AmFilter.java:189)
at com.sun.identity.agents.filter.AmFilter.isAccessAllowed(AmFilter.java:152)
at com.sun.identity.agents.websphere.AmIdentityAsserterBase.processRequest(AmIdentityAsserterBase.java:195)
at com.sun.identity.agents.websphere.AmTrustAssociationInterceptor.negotiateValidateandEstablishTrust(AmTrustAssociationInterceptor.java:91)
at com.ibm.ws.security.web.TAIWrapper.negotiateAndValidateEstablishedTrust(TAIWrapper.java:101)
at com.ibm.ws.security.web.WebAuthenticator.handleTrustAssociation(WebAuthenticator.java:191)
at com.ibm.ws.security.web.WebAuthenticator.authenticate(WebAuthenticator.java:928)
at com.ibm.ws.security.web.WebCollaborator.authorize(WebCollaborator.java:531)
at com.ibm.ws.security.web.EJSWebCollaborator.preInvoke(EJSWebCollaborator.java:262)
at com.ibm.ws.webcontainer.webapp.WebAppSecurityCollaborator.preInvoke(WebAppSecurityCollaborator.java:132)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:506)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:246)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
07/03/2007 06:32:16:078 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
URLFailoverHelper: disconnected the connection for availability check
07/03/2007 06:32:16:078 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
ERROR: URLFailoverHelper: No URL is available at this time
07/03/2007 06:32:16:078 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
ERROR: AmFilter: Error while delegating to inbound handler: SSO Task Handler, access will be denied
[AgentException Stack]
com.sun.identity.agents.arch.AgentException: No URL is available at this time
at com.sun.identity.agents.common.URLFailoverHelper.getAvailableURL(URLFailoverHelper.java:133)
at com.sun.identity.agents.filter.AmFilterRequestContext.getLoginURL(AmFilterRequestContext.java:757)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:285)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:258)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:363)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:345)
at com.sun.identity.agents.filter.SSOTaskHandler.doSSOLogin(SSOTaskHandler.java:210)
at com.sun.identity.agents.filter.SSOTaskHandler.process(SSOTaskHandler.java:98)
at com.sun.identity.agents.filter.AmFilter.processTaskHandlers(AmFilter.java:189)
at com.sun.identity.agents.filter.AmFilter.isAccessAllowed(AmFilter.java:152)
at com.sun.identity.agents.websphere.AmIdentityAsserterBase.processRequest(AmIdentityAsserterBase.java:195)
at com.sun.identity.agents.websphere.AmTrustAssociationInterceptor.negotiateValidateandEstablishTrust(AmTrustAssociationInterceptor.java:91)
at com.ibm.ws.security.web.TAIWrapper.negotiateAndValidateEstablishedTrust(TAIWrapper.java:101)
at com.ibm.ws.security.web.WebAuthenticator.handleTrustAssociation(WebAuthenticator.java:191)
at com.ibm.ws.security.web.WebAuthenticator.authenticate(WebAuthenticator.java:928)
at com.ibm.ws.security.web.WebCollaborator.authorize(WebCollaborator.java:531)
at com.ibm.ws.security.web.EJSWebCollaborator.preInvoke(EJSWebCollaborator.java:262)
at com.ibm.ws.webcontainer.webapp.WebAppSecurityCollaborator.preInvoke(WebAppSecurityCollaborator.java:132)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:506)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:246)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
07/03/2007 06:32:16:078 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
AmFilter: result =>
FilterResult:
Status : FORBIDDEN
RedirectURL : null
RequestHelper:
null
Data:
null
07/03/2007 06:32:16:078 PM IST: Thread[Servlet.Engine.Transports : 1,5,main]
AmIdentityAsserter: result => TAIResult: status: 403, principal: null, subject: null
From whatever analysis I have done so far, I believe this issue is related to the personal certificate for sun one webserver (on which access manager & LDAP are installed) not registered with the application server (portal server).
I am not sure about the way I go by solving the issue.
Please can anybody help me out.
Thanks,
Yaseer
Message was edited by:
yazee
Message was edited by:
yazeeAnkush,
I am getting error as follows in the webserver error log:-
Error receiving request from 172.23.213.75 (SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT: SSL peer had some unspecified issue with the certificate it received)
Although I can get into am console but with https://apollo.maxnewyorklife.com/amconsole
Tried the same thing, but couldnt resolve it. I will give it another go.
Generally I am getting same error again and again.
In my amWebsphere log file of j2ee agent (under root\am_wps_agent\agent_001\logs\debug) error I get.....
07/15/2007 04:19:11:656 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
AmFilter: now processing: SSO Task Handler
07/15/2007 04:19:11:766 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
SSOTokenValidator.validate(): Exception caught
com.iplanet.sso.SSOException: Invalid sessionid formatjava.lang.IllegalArgumentException: Invalid server id in session id com.iplanet.services.naming.ServerEntryNotFoundException: Naming Service is not available.
at com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:205)
at com.iplanet.sso.SSOTokenManager.createSSOToken(SSOTokenManager.java:325)
at com.sun.identity.agents.common.SSOTokenValidator.validateInternal(SSOTokenValidator.java:252)
at com.sun.identity.agents.common.SSOTokenValidator.validate(SSOTokenValidator.java:157)
at com.sun.identity.agents.filter.SSOTaskHandler.process(SSOTaskHandler.java:88)
at com.sun.identity.agents.filter.AmFilter.processTaskHandlers(AmFilter.java:189)
at com.sun.identity.agents.filter.AmFilter.isAccessAllowed(AmFilter.java:152)
at com.sun.identity.agents.websphere.AmIdentityAsserterBase.processRequest(AmIdentityAsserterBase.java:195)
at com.sun.identity.agents.websphere.AmTrustAssociationInterceptor.negotiateValidateandEstablishTrust(AmTrustAssociationInterceptor.java:91)
at com.ibm.ws.security.web.TAIWrapper.negotiateAndValidateEstablishedTrust(TAIWrapper.java:101)
at com.ibm.ws.security.web.WebAuthenticator.handleTrustAssociation(WebAuthenticator.java:191)
at com.ibm.ws.security.web.WebAuthenticator.authenticate(WebAuthenticator.java:928)
at com.ibm.ws.security.web.WebCollaborator.authorize(WebCollaborator.java:531)
at com.ibm.ws.security.web.EJSWebCollaborator.preInvoke(EJSWebCollaborator.java:262)
at com.ibm.ws.webcontainer.webapp.WebAppSecurityCollaborator.preInvoke(WebAppSecurityCollaborator.java:132)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:506)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:246)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
07/15/2007 04:19:11:766 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
SSOTaskHandler: SSO Validation failed for AQIC5wM2LY4SfcwoaNKFd01DvjYeNPbR3wXaa9sMVjcKtwo=@AAJTSQACMDE=#
07/15/2007 04:19:11:766 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
URLFailoverHelper: Checking if https://apollo.maxnewyorklife.com:443/amserver/UI/Login is available
07/15/2007 04:19:11:797 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
WARNING: URLFailoverHelper: the url https://apollo.maxnewyorklife.com:443/amserver/UI/Login is not available
javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.g: No trusted certificate found
at com.ibm.jsse2.bw.a(Unknown Source)
at com.ibm.jsse2.bx.a(Unknown Source)
at com.ibm.jsse2.bx.a(Unknown Source)
at com.ibm.jsse2.v.a(Unknown Source)
at com.ibm.jsse2.v.a(Unknown Source)
at com.ibm.jsse2.u.a(Unknown Source)
at com.ibm.jsse2.bx.a(Unknown Source)
at com.ibm.jsse2.bx.l(Unknown Source)
at com.ibm.jsse2.bx.startHandshake(Unknown Source)
at com.ibm.net.ssl.www.protocol.https.b.o(Unknown Source)
at com.ibm.net.ssl.www.protocol.https.q.connect(Unknown Source)
at com.ibm.net.ssl.internal.www.protocol.https.HttpsURLConnection.connect(Unknown Source)
at com.sun.identity.agents.common.URLFailoverHelper.isAvailable(URLFailoverHelper.java:190)
at com.sun.identity.agents.common.URLFailoverHelper.getAvailableURL(URLFailoverHelper.java:129)
at com.sun.identity.agents.filter.AmFilterRequestContext.getLoginURL(AmFilterRequestContext.java:757)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:285)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:258)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:363)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:345)
at com.sun.identity.agents.filter.SSOTaskHandler.doSSOLogin(SSOTaskHandler.java:210)
at com.sun.identity.agents.filter.SSOTaskHandler.process(SSOTaskHandler.java:98)
at com.sun.identity.agents.filter.AmFilter.processTaskHandlers(AmFilter.java:189)
at com.sun.identity.agents.filter.AmFilter.isAccessAllowed(AmFilter.java:152)
at com.sun.identity.agents.websphere.AmIdentityAsserterBase.processRequest(AmIdentityAsserterBase.java:195)
at com.sun.identity.agents.websphere.AmTrustAssociationInterceptor.negotiateValidateandEstablishTrust(AmTrustAssociationInterceptor.java:91)
at com.ibm.ws.security.web.TAIWrapper.negotiateAndValidateEstablishedTrust(TAIWrapper.java:101)
at com.ibm.ws.security.web.WebAuthenticator.handleTrustAssociation(WebAuthenticator.java:191)
at com.ibm.ws.security.web.WebAuthenticator.authenticate(WebAuthenticator.java:928)
at com.ibm.ws.security.web.WebCollaborator.authorize(WebCollaborator.java:531)
at com.ibm.ws.security.web.EJSWebCollaborator.preInvoke(EJSWebCollaborator.java:262)
at com.ibm.ws.webcontainer.webapp.WebAppSecurityCollaborator.preInvoke(WebAppSecurityCollaborator.java:132)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:506)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:246)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
Caused by: com.ibm.jsse2.util.g: No trusted certificate found
at com.ibm.jsse2.util.f.b(Unknown Source)
at com.ibm.jsse2.util.f.b(Unknown Source)
at com.ibm.jsse2.util.d.a(Unknown Source)
at com.ibm.jsse2.bn.checkServerTrusted(Unknown Source)
at com.ibm.jsse2.z.checkServerTrusted(Unknown Source)
... 39 more
07/15/2007 04:19:11:797 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
URLFailoverHelper: disconnected the connection for availability check
07/15/2007 04:19:11:797 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
ERROR: URLFailoverHelper: No URL is available at this time
07/15/2007 04:19:11:797 PM IST: Thread[Servlet.Engine.Transports : 0,5,main]
ERROR: AmFilter: Error while delegating to inbound handler: SSO Task Handler, access will be denied
[AgentException Stack]
com.sun.identity.agents.arch.AgentException: No URL is available at this time
at com.sun.identity.agents.common.URLFailoverHelper.getAvailableURL(URLFailoverHelper.java:133)
at com.sun.identity.agents.filter.AmFilterRequestContext.getLoginURL(AmFilterRequestContext.java:757)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:285)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectURL(AmFilterRequestContext.java:258)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:363)
at com.sun.identity.agents.filter.AmFilterRequestContext.getAuthRedirectResult(AmFilterRequestContext.java:345)
at com.sun.identity.agents.filter.SSOTaskHandler.doSSOLogin(SSOTaskHandler.java:210)
at com.sun.identity.agents.filter.SSOTaskHandler.process(SSOTaskHandler.java:98)
at com.sun.identity.agents.filter.AmFilter.processTaskHandlers(AmFilter.java:189)
at com.sun.identity.agents.filter.AmFilter.isAccessAllowed(AmFilter.java:152)
at com.sun.identity.agents.websphere.AmIdentityAsserterBase.processRequest(AmIdentityAsserterBase.java:195)
at com.sun.identity.agents.websphere.AmTrustAssociationInterceptor.negotiateValidateandEstablishTrust(AmTrustAssociationInterceptor.java:91)
at com.ibm.ws.security.web.TAIWrapper.negotiateAndValidateEstablishedTrust(TAIWrapper.java:101)
at com.ibm.ws.security.web.WebAuthenticator.handleTrustAssociation(WebAuthenticator.java:191)
at com.ibm.ws.security.web.WebAuthenticator.authenticate(WebAuthenticator.java:928)
at com.ibm.ws.security.web.WebCollaborator.authorize(WebCollaborator.java:531)
at com.ibm.ws.security.web.EJSWebCollaborator.preInvoke(EJSWebCollaborator.java:262)
at com.ibm.ws.webcontainer.webapp.WebAppSecurityCollaborator.preInvoke(WebAppSecurityCollaborator.java:132)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:506)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:208)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:321)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:246)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:652)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:448)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
Thanks,
Yaseer -
SQL*Loader problem with direct path load
Hi all,
Its on Oracle 9.2
I have a sqlldr control file which has couple of columns like,
my_column_1 ,
my_column_2 "decode(:my_column_1,'ONE','AAA','TWO','BBB', :my_column_1)"
The table I am loading to is in user X and I am running the load from
user Y. Everything works fine with conventional path load (not direct
path) as grants are made for the table to user Y.
When I load the data with same control file with direct path, I get an
error ,
01031 - insufficient privileges
Is this anything to do with the syntex I have used in the control file
or its a privilege issue. If its a privilege issue which privilege is
that ?
I did following tests,
1) Load is run with conventional path load, from user Y and the decode
statement is in control file - Load works
2) Load is run with direct path load, from user Y and decode statement
is in control file - Load fails with above mentioned error
3) Load is run with direct path load, from user Y and decode IS REMOVED
from the control file - Load works (!!!)
What can be the conclusion? Way out ?
Thanks and RegardsYou need to grant
grant lock any table to userY;
For more information see MetaLink Note 1082550.6
Maybe you are looking for
-
Error when posting Down payment with reference to down payment request
Hi Experts, In October of 2010 we upgraded from version SAP 4.7 to version 604 SAPKH60406. With this upgrade we decided to select the following FM setting: "Flag to activate down payment request update to PO history" If this flag is set, down payme
-
After migration to a new Mac Pro Dreamweaver CS6 won't launch. It says it is missing menus.xml file. How do I resolve this?
-
Resource Failover on Sun Cluster
Hi: I am a newbie on Solaris Cluster (i have worked with VCS since 4 yeasr ago) and I am evaluating SC like an alternative to VCS. I am testing in a two node cluster (SF v880 , 4 CPU's 16 Gb RAM). I have created a failover resource group with two res
-
first try, changed somethings from previous post, tried to make different changes, instead of using if else tried to set an onload handler both before and after the loadmovie sentence (not at the same time of course), copy paste of what goes on each
-
64-bit version of Quicktime for Windows
I'm running 64-bit version of Windows 7 via bootcamp. I'm running 64-bit version of Microsoft Office 2010. I have the latest version of Quicktime installed 7.7.3 something. I can play the file on the desktop no problem, but when I try to insert th