[jboss-as7-dev] [Resteasy-developers] NPE at org.jboss.resteasy.logging.Logger.classInClasspath(Logger.java:62)

Jason T. Greene jason.greene at redhat.com
Wed Jun 22 16:15:52 EDT 2011


BTW looking at the stack trace in more detail, this looks like its a 
portable CDI extension, which means it probably needs to be set to the 
deployment CL.

On 6/22/11 3:09 PM, Bill Burke wrote:
> Well, the code in question would have to pass a NULL classloader, so
> Class.forName(name, false, null) would end up using the bootclassloader,
> which usually is not aware of your deployment, so you get classes loaded
> by the bootloader that may be overriden in the deployment or only
> available in the deployment.  At least thats the problems we've had in
> the past.
>
> On 6/22/11 4:05 PM, David M. Lloyd wrote:
>> I admit you have me baffled here.
>>
>> Class.forName(name, false, classLoader); is no more likely to cause CCE
>> or linkage errors than classLoader.loadClass(name).
>>
>> It also has the benefit of being able to load array types and deal
>> properly with the aforementioned null classLoader situation.  And, as an
>> added bonus it gives you the option to initialize the class, which you
>> can't do via plain calls on ClassLoader.  Overall it's a better API to use.
>>
>> On 06/22/2011 03:01 PM, Bill Burke wrote:
>>> Using Class.forName() is perhaps one of the biggest causes of CCEs and CLEs.
>>>
>>>
>>> On 6/22/11 3:37 PM, David M. Lloyd wrote:
>>>> It is perfectly valid to have a context class loader of "null" which is
>>>> one value used by the JDK to mean the default system class loader.  You
>>>> can never assume the TCCL is non-null.  It's another good reason to use
>>>> Class.forName() instead of classLoader.loadClass().
>>>>
>>>> Thread.currentThread() will never be null.
>>>>
>>>> On 06/22/2011 02:30 PM, Bill Burke wrote:
>>>>> Not sure how that NPE is possible.  Thread.currentThread() or
>>>>> Thread.currentThread().getContextClassLoader() has to be NULL.  If AS7
>>>>> is overriding ContextClassLoader to be NULL then thats pretty worrisome.
>>>>>
>>>>> On 6/22/11 2:28 PM, Juergen Zimmermann wrote:
>>>>>> JBoss 7 (Jenkins build 1253) meanwhile works regarding the
>>>>>> NoMessageBodyWriterFoundFailure.
>>>>>>
>>>>>> However, when I want to also use Seam REST, I'm getting a NPE at
>>>>>> org.jboss.resteasy.logging.Logger.classInClasspath(Logger.java:62). Please
>>>>>> see the stacktrace:
>>>>>>
>>>>>> 20:20:06,541 INFO  [org.jboss.weld] (MSC service thread 1-1) Processing CDI
>>>>>> deployment: swe2.ear
>>>>>> 20:20:06,566 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1)
>>>>>> MSC00001: Failed to start service
>>>>>> jboss.deployment.unit."swe2.ear".POST_MODULE:
>>>>>> org.jboss.msc.service.StartException in service
>>>>>> jboss.deployment.unit."swe2.ear".POST_MODULE: Failed to process phase
>>>>>> POST_MODULE of deployment "swe2.ear"
>>>>>> 	at
>>>>>> org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUn
>>>>>> itPhaseService.java:121)
>>>>>> 	at
>>>>>> org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerI
>>>>>> mpl.java:1738)
>>>>>> 	at
>>>>>> org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControl
>>>>>> lerImpl.java:2325)
>>>>>> 	at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
>>>>>> va:886) [:1.6.0_26]
>>>>>> 	at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
>>>>>> 08) [:1.6.0_26]
>>>>>> 	at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
>>>>>> Caused by: java.lang.RuntimeException: Error instantiating class
>>>>>> org.jboss.resteasy.cdi.ResteasyCdiExtension
>>>>>> 	at
>>>>>> org.jboss.weld.util.ServiceLoader.prepareInstance(ServiceLoader.java:282)
>>>>>> 	at
>>>>>> org.jboss.weld.util.ServiceLoader.loadService(ServiceLoader.java:238)
>>>>>> 	at
>>>>>> org.jboss.weld.util.ServiceLoader.loadServiceFile(ServiceLoader.java:194)
>>>>>> 	at org.jboss.weld.util.ServiceLoader.reload(ServiceLoader.java:157)
>>>>>> 	at
>>>>>> org.jboss.weld.util.ServiceLoader.iterator(ServiceLoader.java:346)
>>>>>> 	at
>>>>>> org.jboss.as.weld.deployment.processors.WeldPortableExtensionProcessor.loadA
>>>>>> ttachments(WeldPortableExtensionProcessor.java:84)
>>>>>> 	at
>>>>>> org.jboss.as.weld.deployment.processors.WeldPortableExtensionProcessor.deplo
>>>>>> y(WeldPortableExtensionProcessor.java:78)
>>>>>> 	at
>>>>>> org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUn
>>>>>> itPhaseService.java:115)
>>>>>> 	... 5 more
>>>>>> Caused by: java.lang.ExceptionInInitializerError
>>>>>> 	at
>>>>>> org.jboss.resteasy.cdi.ResteasyCdiExtension.<init>(ResteasyCdiExtension.java
>>>>>> :44)
>>>>>> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>> Method) [:1.6.0_26]
>>>>>> 	at
>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
>>>>>> sorImpl.java:39) [:1.6.0_26]
>>>>>> 	at
>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
>>>>>> torAccessorImpl.java:27) [:1.6.0_26]
>>>>>> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>>> [:1.6.0_26]
>>>>>> 	at
>>>>>> org.jboss.weld.util.ServiceLoader.prepareInstance(ServiceLoader.java:273)
>>>>>> 	... 12 more
>>>>>> Caused by: java.lang.NullPointerException
>>>>>> 	at
>>>>>> org.jboss.resteasy.logging.Logger.classInClasspath(Logger.java:62)
>>>>>> 	at org.jboss.resteasy.logging.Logger.<clinit>(Logger.java:75)
>>>>>> 	... 18 more
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Simplify data backup and recovery for your virtual environment with vRanger.
>>>>>> Installation's a snap, and flexible recovery options mean your data is safe,
>>>>>> secure and there when you need it. Data protection magic?
>>>>>> Nope - It's vRanger. Get your free trial download today.
>>>>>> http://p.sf.net/sfu/quest-sfdev2dev
>>>>>> _______________________________________________
>>>>>> Resteasy-developers mailing list
>>>>>> Resteasy-developers at lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/resteasy-developers
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 
Jason T. Greene
JBoss, a division of Red Hat


More information about the jboss-as7-dev mailing list