[ https://issues.apache.org/jira/browse/FELIX-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173461#comment-14173461 ]
David Bosschaert edited comment on FELIX-4670 at 10/16/14 7:08 AM: ------------------------------------------------------------------- [~jajans] bq. A trick you could use is wrapping the actual servlet in an adapter class that simply delegates all calls directly to the real servlet, but allows you to add an additional method that returns whether or not init() has been called. IIRC, this is also how Jetty does this. Then you still need to keep track of what wrapper belongs to what servlet. User code simply calls registerServlet() with the bare servlet, so you'd have to be able to find the wrapper if you created before. I think a slightly simpler solution would be to simply keep track of the servlets that have been inited in the HandlerRegistry. I think it can be done without synchronization but I wonder whether it's really worth the effort since registering the same servlet instance is an error condition and an exception is thrown directly after anyway. was (Author: bosschaert): [~jajans] bq. A trick you could use is wrapping the actual servlet in an adapter class that simply delegates all calls directly to the real servlet, but allows you to add an additional method that returns whether or not init() has been called. IIRC, this is also how Jetty does this. The you still need to keep track of what wrapper belongs to what servlet. User code simply calls registerServlet() with the bare servlet, so you'd have to be able to find the wrapper if you created before. I think a slightly simpler solution would be to simply keep track of the servlets that have been inited in the HandlerRegistry. I think it can be done without synchronization but I wonder whether it's really worth the effort since registering the same servlet instance is an error condition and an exception is thrown directly after anyway. > Deadlock in Felix HTTP service > ------------------------------ > > Key: FELIX-4670 > URL: https://issues.apache.org/jira/browse/FELIX-4670 > Project: Felix > Issue Type: Bug > Components: HTTP Service > Affects Versions: http-2.2.0 > Environment: Websphere 7.0, IBM Java 6.0 > Reporter: Jörg Hoh > Assignee: David Bosschaert > Attachments: felix-4670.diff, felix_4670_alt.diff > > > When we startup our webapplication, we sometimes run into a deadlock: > {code} > 1LKDEADLOCK Deadlock detected !!! > NULL --------------------- > NULL > 2LKDEADLOCKTHR Thread "server.startup : 1" (0x0000000001DDC800) > 3LKDEADLOCKWTR is waiting for: > 4LKDEADLOCKMON sys_mon_t:0x00007FFFBBB61F20 infl_mon_t: > 0x00007FFFBBB61F90: > 4LKDEADLOCKOBJ > org/apache/felix/http/whiteboard/internal/manager/ExtenderManager@0x00000001014B3650/0x00000001014B365C: > > 3LKDEADLOCKOWN which is owned by: > 2LKDEADLOCKTHR Thread "FelixStartLevel" (0x0000000002156100) > 3LKDEADLOCKWTR which is waiting for: > 4LKDEADLOCKMON sys_mon_t:0x00007FFFBBBBA340 infl_mon_t: > 0x00007FFFBBBBA3B0: > 4LKDEADLOCKOBJ > org/apache/felix/http/base/internal/handler/HandlerRegistry@0x00000001070D6EA0/0x00000001070D6EAC: > > 3LKDEADLOCKOWN which is owned by: > 2LKDEADLOCKTHR Thread "server.startup : 1" (0x0000000001DDC800) > NULL > {code} > The stacktrace of these 2 threads as indicated by the javacore file: > {code} > 3XMTHREADINFO "FelixStartLevel" J9VMThread:0x0000000002156100, > j9thread_t:0x00007FFFC938B4B0, java/lang/Thread:0x0000000101580260, state:B, > prio=5 > 3XMJAVALTHREAD (java/lang/Thread getId:0x70, isDaemon:true) > 3XMTHREADINFO1 (native thread ID:0x5D3A, native priority:0x5, > native policy:UNKNOWN) > 3XMTHREADINFO2 (native stack address range > from:0x00007FFFC530A000, to:0x00007FFFC534B000, size:0x41000) > 3XMTHREADINFO3 Java callstack: > 4XESTACKTRACE at > org/apache/felix/http/base/internal/service/HttpServiceImpl.unregisterFilter(HttpServiceImpl.java:140) > > 4XESTACKTRACE at > org/apache/felix/http/base/internal/service/HttpServiceImpl.unregisterFilter(HttpServiceImpl.java:76) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/manager/FilterMapping.unregister(FilterMapping.java:90) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/manager/FilterMapping.unregister(FilterMapping.java:83) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/manager/ExtenderManager.unregisterMapping(ExtenderManager.java:270) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/manager/ExtenderManager.removeMapping(ExtenderManager.java:252) > > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/manager/ExtenderManager.remove(ExtenderManager.java:183) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/tracker/FilterTracker.removed(FilterTracker.java:48) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/tracker/FilterTracker.removed(FilterTracker.java:24) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/tracker/AbstractTracker.removedService(AbstractTracker.java:52) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:956) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:864) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.untrack(AbstractTracked.java:341(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:902(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireEventImmediately(EventDispatcher.java:793(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireServiceEvent(EventDispatcher.java:543(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.fireServiceEvent(Felix.java:4401(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.access$000(Felix.java:74(Compiled Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix$1.serviceChanged(Felix.java:390(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/ServiceRegistry.unregisterService(ServiceRegistry.java:151(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/scr/impl/manager/AbstractComponentManager.unregisterComponentService(AbstractComponentManager.java:702(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/scr/impl/manager/AbstractComponentManager$State.doDeactivate(AbstractComponentManager.java:1301(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/scr/impl/manager/AbstractComponentManager$Satisfied.dispose(AbstractComponentManager.java:1617) > 4XESTACKTRACE at > org/apache/felix/scr/impl/manager/AbstractComponentManager.disposeInternal(AbstractComponentManager.java:574(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/scr/impl/manager/AbstractComponentManager.dispose(AbstractComponentManager.java:404(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/scr/impl/config/ImmediateComponentHolder.disposeComponents(ImmediateComponentHolder.java:371(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/scr/impl/BundleComponentActivator.dispose(BundleComponentActivator.java:320(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/scr/impl/Activator.disposeComponents(Activator.java:316) > 4XESTACKTRACE at > org/apache/felix/scr/impl/Activator.bundleChanged(Activator.java:183(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireEventImmediately(EventDispatcher.java:789(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireBundleEvent(EventDispatcher.java:514(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.fireBundleEvent(Felix.java:4385(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.stopBundle(Felix.java:2508) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.setActiveStartLevel(Felix.java:1297(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304) > 4XESTACKTRACE at java/lang/Thread.run(Thread.java:761) > {code} > {code} > 3XMTHREADINFO "server.startup : 1" J9VMThread:0x0000000001DDC800, > j9thread_t:0x00007FFFC8C61340, java/lang/Thread:0x00000001014B35A8, state:B, > prio=5 > 3XMJAVALTHREAD (java/lang/Thread getId:0x68, isDaemon:true) > 3XMTHREADINFO1 (native thread ID:0x5A08, native priority:0x5, > native policy:UNKNOWN) > 3XMTHREADINFO2 (native stack address range > from:0x00007FFFC64D4000, to:0x00007FFFC6515000, size:0x41000) > 3XMTHREADINFO3 Java callstack: > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/manager/ExtenderManager.remove(ExtenderManager.java:183) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/tracker/ServletTracker.removed(ServletTracker.java:48) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/tracker/ServletTracker.removed(ServletTracker.java:24) > 4XESTACKTRACE at > org/apache/felix/http/whiteboard/internal/tracker/AbstractTracker.removedService(AbstractTracker.java:52) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:956) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:864) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.untrack(AbstractTracked.java:341(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:902(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.invokeServiceLi > stenerCallback(EventDispatcher.java:932(Compiled Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireEventImmediately(EventDispatcher.java:793(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireServiceEvent(EventDispatcher.java:543(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.fireServiceEvent(Felix.java:4401(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.access$000(Felix.java:74(Compiled Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix$1.serviceChanged(Felix.java:390(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/ServiceRegistry.unregisterService(ServiceRegistry.java:151(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:127(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/inventory/impl/InventoryPrinterAdapter.unregisterConsole(InventoryPrinterAdapter.java:84) > 4XESTACKTRACE at > org/apache/felix/inventory/impl/InventoryPrinterManagerImpl.addService(InventoryPrinterManagerImpl.java:196) > 4XESTACKTRACE at > org/apache/felix/inventory/impl/InventoryPrinterManagerImpl.addingService(InventoryPrinterManagerImpl.java:128) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.trackAdding(AbstractTracked.java:256(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.track(AbstractTracked.java:229(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireEventImmediately(EventDispatcher.java:793(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireServiceEvent(EventDispatcher.java:543(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.fireServiceEvent(Felix.java:4401(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.registerService(Felix.java:3411(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/BundleContextImpl.registerService(BundleContextImpl.java:346(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/BundleContextImpl.registerService(BundleContextImpl.java:320) > 4XESTACKTRACE at > org/apache/felix/inventory/impl/webconsole/WebConsoleAdapter.add(WebConsoleAdapter.java:125) > 4XESTACKTRACE at > org/apache/felix/inventory/impl/webconsole/WebConsoleAdapter.addingService(WebConsoleAdapter.java:155) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.trackAdding(AbstractTracked.java:256(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.track(AbstractTracked.java:229(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireEventImmediately(EventDispatcher.java:793(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireServiceEvent(EventDispatcher.java:543(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.fireServiceEvent(Felix.java:4401(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.registerService(Felix.java:3411(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/BundleContextImpl.registerService(BundleContextImpl.java:346(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/BundleContextImpl.registerService(BundleContextImpl.java:320) > 4XESTACKTRACE at > de/xxx/yyy/modules/common/servlet/dispatcher/jsp/JspTldLocationsCache.<init>(JspTldLocationsCache.java:81) > 4XESTACKTRACE at > de/xxx/yyy/modules/common/servlet/dispatcher/jsp/engine/JspScriptEngineFactory.activate(JspScriptEngineFactory.java:235) > 4XESTACKTRACE at > de/xxx/yyy/modules/common/servlet/ContainerServlet.init(ContainerServlet.java:96) > 4XESTACKTRACE at > org/apache/felix/http/base/internal/handler/ServletHandler.init(ServletHandler.java:55) > 4XESTACKTRACE at > org/apache/felix/http/base/internal/handler/HandlerRegistry.addServlet(HandlerRegistry.java:65) > > 4XESTACKTRACE at > org/apache/felix/http/base/internal/service/HttpServiceImpl.registerServlet(HttpServiceImpl.java:95) > 4XESTACKTRACE at > de/xxx/yyy/modules/common/osgi/webapp/WebappModuleServiceTracker.addingService(WebappModuleServiceTracker.java:82) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.trackAdding(AbstractTracked.java:256(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.track(AbstractTracked.java:229(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireEventImmediately(EventDispatcher.java:793(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/util/EventDispatcher.fireServiceEvent(EventDispatcher.java:543(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.fireServiceEvent(Felix.java:4401(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/Felix.registerService(Felix.java:3411(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/framework/BundleContextImpl.registerService(BundleContextImpl.java:346(Compiled > Code)) > 4XESTACKTRACE at > org/apache/felix/http/base/internal/HttpServiceController.register(HttpServiceController.java:135) > 4XESTACKTRACE at > org/apache/felix/http/base/internal/DispatcherServlet.init(DispatcherServlet.java:48) > 4XESTACKTRACE at > org/apache/felix/http/proxy/DispatcherTracker.initDispatcher(DispatcherTracker.java:97) > 4XESTACKTRACE at > org/apache/felix/http/proxy/DispatcherTracker.setDispatcher(DispatcherTracker.java:77) > 4XESTACKTRACE at > org/apache/felix/http/proxy/DispatcherTracker.addingService(DispatcherTracker.java:52) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.trackAdding(AbstractTracked.java:256(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/AbstractTracked.trackInitial(AbstractTracked.java:183(Compiled > Code)) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker.open(ServiceTracker.java:317) > 4XESTACKTRACE at > org/osgi/util/tracker/ServiceTracker.open(ServiceTracker.java:261) > 4XESTACKTRACE at > org/apache/felix/http/proxy/ProxyServlet.doInit(ProxyServlet.java:51) > 4XESTACKTRACE at > org/apache/felix/http/proxy/ProxyServlet.init(ProxyServlet.java:39) > 4XESTACKTRACE at > org/apache/sling/launchpad/base/webapp/SlingServletDelegate.init(SlingServletDelegate.java:208) > 4XESTACKTRACE at > javax/servlet/GenericServlet.init(GenericServlet.java:241) > 4XESTACKTRACE at > org/apache/sling/launchpad/webapp/SlingServlet.startSling(SlingServlet.java:384) > 4XESTACKTRACE at > org/apache/sling/launchpad/webapp/SlingServlet.startSling(SlingServlet.java:325) > 4XESTACKTRACE at > org/apache/sling/launchpad/webapp/SlingServlet.init(SlingServlet.java:118) > 4XESTACKTRACE at > javax/servlet/GenericServlet.init(GenericServlet.java:241) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/servlet/ServletWrapper.init(ServletWrapper.java:363) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/servlet/ServletWrapperImpl.init(ServletWrapperImpl.java:171) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/servlet/ServletWrapper.initialize(ServletWrapper.java:1844) > 4XESTACKTRACE at > com/ibm/wsspi/webcontainer/extension/WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:98) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/webapp/WebApp.getServletWrapper(WebApp.java:1048(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/webapp/WebApp.getServletWrapper(WebApp.java:969) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/webapp/WebApp.initializeTargetMappings(WebApp.java:648(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/webapp/WebApp.commonInitializationFinally(WebApp.java:450) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/webapp/WebAppImpl.initialize(WebAppImpl.java:304(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/webapp/WebGroupImpl.addWebApplication(WebGroupImpl.java:100) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/VirtualHostImpl.addWebApplication(VirtualHostImpl.java:166) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/WSWebContainer.addWebApp(WSWebContainer.java:732) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/WSWebContainer.addWebApplication(WSWebContainer.java:617) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/component/WebContainerImpl.install(WebContainerImpl.java:376) > 4XESTACKTRACE at > com/ibm/ws/webcontainer/component/WebContainerImpl.start(WebContainerImpl.java:668) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/ApplicationMgrImpl.start(ApplicationMgrImpl.java:1128(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1319) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/DeployedModuleImpl.start(DeployedModuleImpl.java:611(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/DeployedApplicationImpl.start(DeployedApplicationImpl.java:944(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:741(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/ApplicationMgrImpl$3.run(ApplicationMgrImpl.java:2056) > 4XESTACKTRACE at > com/ibm/ws/security/auth/ContextManagerImpl.runAs(ContextManagerImpl.java:5395) > 4XESTACKTRACE at > com/ibm/ws/security/auth/ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5483) > 4XESTACKTRACE at > com/ibm/ws/security/core/SecurityContext.runAsSystem(SecurityContext.java:255) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/ApplicationMgrImpl.start(ApplicationMgrImpl.java:2061) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:389(Compiled > Code)) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/CompositionUnitImpl.start(CompositionUnitImpl.java:123) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:332) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/CompositionUnitMgrImpl.access$300(CompositionUnitMgrImpl.java:117) > 4XESTACKTRACE at > com/ibm/ws/runtime/component/CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:899) > 4XESTACKTRACE at > com/ibm/wsspi/runtime/component/WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:496) > 4XESTACKTRACE at > com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1656(Compiled Code)) > {code} > We run into this quite often, so it's kind of reproducible. We have the same > behaviour as well with other thread combinations (e.g. Sling Notifier and > FelixFrameworkWiring) hitting the same locks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)