2 Replies Latest reply on Feb 14, 2013 9:19 AM by ymartin

    How to diagnose IIOP WebClassLoader troubles ?

    ymartin

         Hello,

       

      I have a ten years-old EJB2 application running on JBoss 6.1 (and also WebSphere) without any trouble. Because I want to use ORB PortableInterceptor, I have enabled Jacorb to switch from JNP to IIOP.

       

      First JBoss complains with org.jboss.iiop.rmi.RMIIIOPViolationException, I have now fixed - even if IBM ORB seems to accomodate with my obviously non-compliant interfaces...

       

      Now JBoss' WebCL is not able to deliver Stub for my Home and Remote interfaces and I have no idea what may be wrong. My only remaining hypothesis is that the RMIC compiler fails silently...

       

      So how should I proceed to get the cause of this class loading failure and fix it ?

       

      Here are logs when classloader verbosity is set to TRACE and the org.jboss.iiop.WebCL ERROR:

       

      2013-01-29 09:33:52,075 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@1f4af32{vfs:///home/ymartin/JBoss-6.1/server/default/conf/jboss-service.xml} already loaded package org.jboss.iiop.rmi.marshal.strategy org.jboss.iiop.rmi.marshal.strategy
      2013-01-29 09:33:52,075 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} loadClass my.test.services.orb._Business1SLHome_Stub resolve=false
      2013-01-29 09:33:52,075 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} aquireLockFairly Thread[pool-2-thread-1,5,Short Tasks Threads]
      2013-01-29 09:33:52,075 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} aquiredLock Thread[pool-2-thread-1,5,Short Tasks Threads] holding=1
      2013-01-29 09:33:52,075 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} load from domain my.test.services.orb._Business1SLHome_Stub domain=ClassLoaderDomain@7a4fe91e{DefaultDomain}
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.ClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} my.test.services.orb._Business1SLHome_Stub matches parent beforeFilter=<EVERYTHING>
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.ClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} load class from parent my.test.services.orb._Business1SLHome_Stub parent=java.net.URLClassLoader@4e3eca90
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} findLoader my/test/services/orb/_Business1SLHome_Stub.class classLoader=BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} allExports=false findInParent=false
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} class is black listed my/test/services/orb/_Business1SLHome_Stub.class
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} not loading my/test/services/orb/_Business1SLHome_Stub.class from imports, it's not relevant: BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE}
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} trying to load my/test/services/orb/_Business1SLHome_Stub.class from requesting BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE}
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} get resource locally my/test/services/orb/_Business1SLHome_Stub.class
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} resource is blacklisted my/test/services/orb/_Business1SLHome_Stub.class
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} not loading my/test/services/orb/_Business1SLHome_Stub.class from imports, it's not relevant: BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE}
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.ClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} my.test.services.orb._Business1SLHome_Stub does NOT match parent afterFilter=<NOTHING>
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (pool-2-thread-1) ClassLoaderDomain@7a4fe91e{DefaultDomain} trying to load my.test.services.orb._Business1SLHome_Stub using hack sun.misc.Launcher$AppClassLoader@553f5d07
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} unlock Thread[pool-2-thread-1,5,Short Tasks Threads] holding=1
      2013-01-29 09:33:52,076 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-1) BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE} class not found my.test.services.orb._Business1SLHome_Stub
      2013-01-29 09:33:52,068 ERROR [org.jboss.iiop.WebCL] (pool-2-thread-1) failed finding class my.test.services.orb._Business1SLHome_Stub: org.jboss.util.NestedRuntimeException: - nested throwable: (java.lang.ExceptionInInitializerError)
          at org.jboss.iiop.WebCL.findClass(WebCL.java:124) [:6.1.0.Final]
          at java.lang.ClassLoader.loadClass(ClassLoader.java:306) [:1.6.0_31]
          at org.jboss.classloading.spi.DelegatingClassLoader.loadClass(DelegatingClassLoader.java:82) [jboss-classloading-spi.jar:6.0.0.CR1]
          at java.lang.ClassLoader.loadClass(ClassLoader.java:247) [:1.6.0_31]
          at org.jboss.web.WebServer.run(WebServer.java:393) [:6.1.0.Final]
          at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) [:2.0.0.CR7]
          at org.jboss.threads.CleanupExecutor.execute(CleanupExecutor.java:38) [:2.0.0.CR7]
          at org.jboss.threads.CleanupExecutor.execute(CleanupExecutor.java:38) [:2.0.0.CR7]
          at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801) [:2.0.0.CR7]
          at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) [:2.0.0.CR7]
          at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821) [:2.0.0.CR7]
          at java.lang.Thread.run(Thread.java:662) [:1.6.0_31]
          at org.jboss.threads.JBossThread.run(JBossThread.java:122) [:2.0.0.CR7]
      Caused by: java.lang.ExceptionInInitializerError
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [:1.6.0_31]
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [:1.6.0_31]
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_31]
          at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_31]
          at java.lang.Class.newInstance0(Class.java:355) [:1.6.0_31]
          at java.lang.Class.newInstance(Class.java:308) [:1.6.0_31]
          at org.jboss.iiop.WebCL.findClass(WebCL.java:120) [:6.1.0.Final]
          ... 12 more
      Caused by: java.lang.RuntimeException: Error loading class my.test.services.orb.Business1Remote: java.lang.ClassNotFoundException: my.test.services.orb.Business1Remote from BaseClassLoader@3cdf0256{asynch-classloader:0.0.0$MODULE}
          at org.jboss.iiop.rmi.marshal.CDRStream.readerFor(CDRStream.java:208) [:6.1.0.Final]
          at org.jboss.iiop.rmi.marshal.strategy.StubStrategy.<init>(StubStrategy.java:175) [:6.1.0.Final]
          at org.jboss.iiop.rmi.marshal.strategy.StubStrategy.forMethod(StubStrategy.java:115) [:6.1.0.Final]
          at my.test.services.orb._Business1SLHome_Stub.$i2(Unknown Source)
          at my.test.services.orb._Business1SLHome_Stub.<clinit>(Unknown Source)
          ... 19 more
      
      2013-01-29 09:33:52,079 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-2) BaseClassLoader@77841ae5{vfs:///home/ymartin/JBoss-6.1/server/default/deploy/disttestscore-cejb.ear} loadClass org.omg.stub.my.test.services.orb._Business1SLHome_Stub resolve=false
      2013-01-29 09:33:52,079 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-2) BaseClassLoader@77841ae5{vfs:///home/ymartin/JBoss-6.1/server/default/deploy/disttestscore-cejb.ear} aquireLockFairly Thread[pool-2-thread-2,5,Short Tasks Threads]
      2013-01-29 09:33:52,079 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-2) BaseClassLoader@77841ae5{vfs:///home/ymartin/JBoss-6.1/server/default/deploy/disttestscore-cejb.ear} aquiredLock Thread[pool-2-thread-2,5,Short Tasks Threads] holding=1
      2013-01-29 09:33:52,079 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] (pool-2-thread-2) BaseClassLoader@77841ae5{vfs:///home/ymartin/JBoss-6.1/server/default/deploy/disttestscore-cejb.ear} load from domain org.omg.stub.my.test.services.orb._Business1SLHome_Stub domain=ClassLoaderDomain@431c4ef6{jboss.j2ee:extension=LoaderRepository,service=EARDeployment,url='disttestscore-cejb.ear'}
      

       

       

      Thank you in advance for your help

      Regards

      Yves