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

Reply via email to