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

David Jencks commented on FELIX-4468:
-------------------------------------

This appears to be a framework problem, if you call 
context.getService(ServiceReference) on a service reference that has been 
unregistered.  The code in Felix is

    <S> S getService(Bundle bundle, ServiceReference<S> ref)
    {
        try
        {
            return (S) m_registry.getService(bundle, ref);
        }
        catch (ServiceException ex)
        {
            fireFrameworkEvent(FrameworkEvent.ERROR, ref.getBundle(), ex);
        }

        return null;
    }
and if ref is unregistered then ref.getBundle() must return null.  Could we use 
the ref as the source instead of the missing bundle in this case?

> EventObject is created with null pointer : "null source"
> --------------------------------------------------------
>
>                 Key: FELIX-4468
>                 URL: https://issues.apache.org/jira/browse/FELIX-4468
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.2.1, framework-4.4.0, scr-1.8.2
>            Reporter: Vincent G.
>
> "java.util.EventObject" should not be created with null pointer. As a result, 
> the real cause of the error is masked.
> java.lang.IllegalArgumentException: null source
>         at java.util.EventObject.<init>(EventObject.java:56)
>         at org.osgi.framework.FrameworkEvent.<init>(FrameworkEvent.java:196)
>         at 
> org.apache.felix.framework.Felix.fireFrameworkEvent(Felix.java:4392)
>         at org.apache.felix.framework.Felix.getService(Felix.java:3572)
>         at 
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:468)
>         at 
> org.osgi.util.tracker.ServiceTracker.addingService(ServiceTracker.java:411)
>         at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
>         at 
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)
>         at 
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
>         at 
> org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
>         at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)
>         at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
>         at 
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:107)
>         at 
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:258)
>         at org.apache.felix.scr.impl.Activator.access$000(Activator.java:45)
>         at 
> org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:185)
>         at 
> org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
>         at 
> org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
>         at 
> org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:479)
>         at 
> org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:414)
>         at 
> org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
>         at 
> org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)
>         at 
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514)
>         at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:2092)
>         at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)
>         at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
>         at java.lang.Thread.run(Thread.java:722)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to