Hi I'll try to have a quick look to check few thing but a sample showing it would be great. A if (!= null) would surely work for you but is not really compatible with this logic (well not alone ;))
Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2014-05-22 7:50 GMT+02:00 Stanislas Nanchen <[email protected]>: > Hi, > > I think we use it quite "normally". The problem arised when we upgraded > a library (vaadin from 7.1.10 to 7.2). However the vaadin jar does not > contain any beans.xml file. > > How can I investigate more? > > As Class#getClassLoader() can be null, I think it would be a good idea > to check for this, e.g. in the comparator. Should I submit a patch? > > Cheers. > Stan. > > ----- Original Message ----- > From: "Romain Manni-Bucau" <[email protected]> > To: [email protected] > Sent: Wednesday, 21 May, 2014 11:33:21 AM > Subject: Re: OpenEJB Startup Problem : NPE in CdiScanner > > Hi > > how do you use it? Charset can't be in this class list normally > > > > Romain Manni-Bucau > Twitter: @rmannibucau > Blog: http://rmannibucau.wordpress.com/ > LinkedIn: http://fr.linkedin.com/in/rmannibucau > Github: https://github.com/rmannibucau > > > 2014-05-21 11:24 GMT+02:00 Stanislas Nanchen <[email protected]>: > > > Hello everyone, > > > > We are using Tomee (and OpenEJB) 1.6.0.2 and we have a problem with the > > startup of OpenEBJ: > > a NPE occurs in the CdiScanner: on line 260 of the CdiScanner.java, there > > is a comparison between 2 ClassLoaders. (see below). > > > > 257 final ClassLoader cl = clazz.getClassLoader(); > > ... > > 260 if (!filterByClassLoader > > 261 || comparator.isSame(cl) || (cl.equals(scl) && > > startupObject.getWebContext() == null)) { > > > > I have debugged step by step and found that the NPE occurs when the > > variable clazz is > > the class java.nio.charset.Charset. In this case, the classloader is null > > and the test > > on lines 260/261 fails. > > > > I have patched the line 261 to check whether cl is null (according to the > > Class API, wenn a class > > is loaded with the Bootloader, it is allowed to return null to the method > > Class#getClassLoader); > > and it works perfectly. (It would be probably a better idea to check for > > null in the comparator). > > > > Have other Tomee/OpenEJB users encountered the same problem? It seems to > > me strange that the > > class java.nio.charset.Charset is being scanned. > > > > Thanks for your help! > > Cheers, > > Stan. > > > > > > > > [email protected] +41 44 268 89 00 > > Ergon Informatik AG, Kleinstrasse 15, CH-8008 Zürich > > http://www.ergon.ch > > e r g o n smart people - smart software > > >
