[ 
https://issues.apache.org/jira/browse/FELIX-3477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437915#comment-13437915
 ] 

Richard S. Hall commented on FELIX-3477:
----------------------------------------

After looking into Peter's scenario, it still seems to be the standard case of 
threads still running and trying to load classes via a bundle wiring which was 
disposed. The NPE makes it seem like it is an error in the framework, but 
technically it is not. Perhaps we should consider throwing some other sort of 
exception if we detect this case.
                
> NPE in BundleWiringImpl.searchImports
> -------------------------------------
>
>                 Key: FELIX-3477
>                 URL: https://issues.apache.org/jira/browse/FELIX-3477
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.2
>         Environment: JDK 6u31, Ubuntu
>            Reporter: Jesse Glick
>
> NetBeans unit tests in the org.netbeans.core.osgi module pass but print a lot 
> of stack traces when run against Felix 4.0.2:
> Apr 23, 2012 7:06:57 PM org.openide.util.lookup.implspi.ActiveQueue$Daemon run
> WARNING: Cannot process 
> org.openide.util.WeakListenerImpl$ListenerReference@1ce1bea
> java.lang.NullPointerException
>       at 
> org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1508)
>       at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1427)
>       at 
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
>       at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>       at java.lang.Class.getDeclaredMethods0(Native Method)
>       at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
>       at java.lang.Class.getMethod0(Class.java:2670)
>       at java.lang.Class.getMethod(Class.java:1603)
>       at 
> org.openide.util.WeakListenerImpl$ListenerReference.getRemoveMethod(WeakListenerImpl.java:614)
>       at 
> org.openide.util.WeakListenerImpl$ListenerReference.run(WeakListenerImpl.java:572)
>       at 
> org.openide.util.lookup.implspi.ActiveQueue$Daemon.run(ActiveQueue.java:185)
> (The ActiveQueue thread in this case is looking for listeners attached via 
> weak references which have since been collected, so that the stub listener 
> can be cleanly detached from the observable object. It is impossible to 
> guarantee exactly when this cleanup will run.)
> Presumably BundleRevisionImpl.m_wiring is null. searchImports should I think 
> just treat this as if result==null. Can offer a patch if you like.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to