[
https://issues.apache.org/jira/browse/FELIX-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Bosschaert updated FELIX-4670:
------------------------------------
Attachment: felix_4670_alt.diff
After some further feedback I have come up with an alternative implementation
(felix_4680_alt.diff) that does not involve separate threads. It removes the
need for synchronization on the HandlerRegistry, one of the locks in this
deadlock.
This is done by using concurrent maps. Note that the atomicity to ConcurrentMap
is only guaranteed per single call, therefore I had to move handler.init() in
the add methods to before the putIfAbsent call. An optimistic approach if you
like. However this means that if the handler cannot be added an extra destroy()
call was needed.
What do people think? Is this a better approach than with the threading? If
there is consensus that this is a better idea I'll also provide unit tests.
> 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)