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

J.W. Janssen commented on FELIX-4670:
-------------------------------------

bq. Actually, that piece turns out to be quite tricky, as you don't know from a 
Servlet itself whether it has been inited, which means you need to add 
synchronization again to check this in a separate datastructure, and the 
synchronization was what we were trying to remove. 

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.

> 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)

Reply via email to