Stefan Egli created SLING-7053:
----------------------------------

             Summary: deadlock in QuartzScheduler
                 Key: SLING-7053
                 URL: https://issues.apache.org/jira/browse/SLING-7053
             Project: Sling
          Issue Type: Bug
          Components: Extensions
    Affects Versions: Commons Scheduler 2.6.2
            Reporter: Stefan Egli


The following deadlock has been witnessed (in 2.6.3-SNAPSHOT, so the line 
numbers are a little bit skewed, also note that the thread names have been 
generalized and thread 1's stack has been shortened):
{noformat}
Found one Java-level deadlock:
=============================
"thread 1":
  waiting to lock monitor 0x00007feae58d5118 (object 0x00000007f4502a28, a 
org.apache.sling.commons.scheduler.impl.SchedulerProxy),
  which is held by "thread 2"
"thread 2":
  waiting to lock monitor 0x00007feae58d4c48 (object 0x00000007f46d6320, a 
org.apache.sling.commons.scheduler.impl.SchedulerProxy),
  which is held by "thread 1"
Java stack information for the threads listed above:
===================================================
"thread 1":
        at 
org.apache.sling.commons.scheduler.impl.QuartzScheduler.unschedule(QuartzScheduler.java:584)
        - waiting to lock <0x00000007f4502a28> (a 
org.apache.sling.commons.scheduler.impl.SchedulerProxy)
        at 
org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:630)
        - locked <0x00000007f46d6320> (a 
org.apache.sling.commons.scheduler.impl.SchedulerProxy)
        at 
org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:561)
        at 
org.apache.sling.commons.scheduler.impl.SchedulerServiceFactory.schedule(SchedulerServiceFactory.java:63)
        [...]
"thread 2":
        at 
org.apache.sling.commons.scheduler.impl.QuartzScheduler.unschedule(QuartzScheduler.java:584)
        - waiting to lock <0x00000007f46d6320> (a 
org.apache.sling.commons.scheduler.impl.SchedulerProxy)
        at 
org.apache.sling.commons.scheduler.impl.QuartzScheduler.scheduleJob(QuartzScheduler.java:630)
        - locked <0x00000007f4502a28> (a 
org.apache.sling.commons.scheduler.impl.SchedulerProxy)
        at 
org.apache.sling.commons.scheduler.impl.QuartzScheduler.schedule(QuartzScheduler.java:561)
        at 
org.apache.sling.commons.scheduler.impl.WhiteboardHandler.scheduleJob(WhiteboardHandler.java:271)
        at 
org.apache.sling.commons.scheduler.impl.WhiteboardHandler.trySchedulePeriod(WhiteboardHandler.java:229)
        at 
org.apache.sling.commons.scheduler.impl.WhiteboardHandler.register(WhiteboardHandler.java:189)
        at 
org.apache.sling.commons.scheduler.impl.WhiteboardHandler.registerRunnable(WhiteboardHandler.java:146)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
        at 
org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
        at 
org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
        at 
org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
        at 
org.apache.felix.scr.impl.inject.BindMethod.invoke(BindMethod.java:655)
        at 
org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:1722)
        at 
org.apache.felix.scr.impl.manager.DependencyManager.open(DependencyManager.java:1556)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:261)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
        at 
org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:749)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430)
        at 
org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657)
        - locked <0x00000007f4e02ee8> (a java.lang.Object)
        at 
org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)
        at 
org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390)
        at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54)
        at 
org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265)
        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:482)
        at 
org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
        at 
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:916)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:835)
        at 
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4542)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2173)
        at org.apache.felix.framework.Felix.updateBundle(Felix.java:2485)
        at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:1018)
        at 
org.apache.felix.webconsole.internal.core.UpdateHelper.doRun(UpdateHelper.java:60)
        at 
org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.doRun(BaseUpdateInstallHelper.java:93)
        at 
org.apache.felix.webconsole.internal.core.UpdateHelper.doRun(UpdateHelper.java:70)
        at 
org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.run(BaseUpdateInstallHelper.java:123)
        at java.lang.Thread.run(Thread.java:745)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to