felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guillaume Nodet (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-4313) Bad synchronization in scr where a lock is held while ungetting a service
Date Mon, 18 Nov 2013 09:21:23 GMT

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

Guillaume Nodet commented on FELIX-4313:
----------------------------------------

I still don't think deactivate needs to be synchronized, however I've hit the following NPEs,
which seems to indicate that the m_tracker property can be null while the code doesn't really
support it.  

{code}
ERROR: Bundle org.fusesource.fabric.fabric-git [80] EventDispatcher: Error during dispatch.
(java.lang.NullPointerException)
java.lang.NullPointerException
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.prebind(DependencyManager.java:376)
	at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1392)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1099)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:804)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:827)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:907)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:871)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1477)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1398)
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:1210)
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:1148)


ERROR: Bundle org.fusesource.fabric.fabric-zookeeper [48] EventDispatcher: Error during dispatch.
(java.lang.NullPointerException)
java.lang.NullPointerException
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:954)
	at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1392)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1099)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:804)
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:827)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:907)
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:871)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1477)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1398)
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:1210)
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:1148)
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1429)
	at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:934)
	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:795)
	at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:544)
	at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4666)
	at org.apache.felix.framework.Felix.registerService(Felix.java:3674)
	at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:347)
	at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:320)
	at org.apache.felix.cm.impl.ConfigurationManager.start(ConfigurationManager.java:318)
	at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
	at org.apache.felix.framework.Felix.doActivateBundle(Felix.java:2387)
	at org.apache.felix.framework.Felix$7.call(Felix.java:2325)
	at org.apache.felix.framework.Felix$6.call(Felix.java:2208)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
{code}

> Bad synchronization in scr where a lock is held while ungetting a service
> -------------------------------------------------------------------------
>
>                 Key: FELIX-4313
>                 URL: https://issues.apache.org/jira/browse/FELIX-4313
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.8.0
>            Reporter: Guillaume Nodet
>            Assignee: Guillaume Nodet
>            Priority: Minor
>             Fix For: scr-1.8.2
>
>
> The problem is located in DependencyManeger$SingleStaticCustomizer.close()



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message