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)