[
https://issues.apache.org/jira/browse/SM-2162?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gert Vanthienen updated SM-2162:
--------------------------------
Fix Version/s: 3.4.2
> Temporary deadlock during shutdown
> ----------------------------------
>
> Key: SM-2162
> URL: https://issues.apache.org/jira/browse/SM-2162
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-core
> Affects Versions: 3.4.0
> Environment: Linux 3.2.0-2-amd64 #1 SMP Sun Mar 4 22:48:17 UTC 2012
> x86_64 GNU/Linux
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
> Reporter: lorenzo
> Priority: Minor
> Fix For: 3.4.2
>
> Attachments: thread-dump.txt
>
>
> During the shutdown of cxf-se service units servicemix hangs for several
> minutes and prints this error on the console:
> INFO - ServiceUnitLifeCycle - Shutting down service unit:
> type-registry-ws
> [Fatal Error] :1:1: Content is not allowed in prolog.
> WARN - ServiceAssemblyLifeCycle - Could not parse result exception
> org.xml.sax.SAXParseException: Content is not allowed in prolog.
> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
> at
> org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.parse(ServiceAssemblyLifeCycle.java:459)
> at
> org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.getComponentFailure(ServiceAssemblyLifeCycle.java:440)
> at
> org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.shutDown(ServiceAssemblyLifeCycle.java:250)
> at
> org.apache.servicemix.jbi.framework.ComponentMBeanImpl.shutDownServiceAssemblies(ComponentMBeanImpl.java:580)
> at
> org.apache.servicemix.jbi.framework.ComponentMBeanImpl.doShutDown(ComponentMBeanImpl.java:335)
> at
> org.apache.servicemix.jbi.framework.ComponentRegistry.shutDown(ComponentRegistry.java:116)
> at
> org.apache.servicemix.jbi.framework.Registry.shutDown(Registry.java:153)
> at
> org.apache.servicemix.jbi.container.JBIContainer$1.call(JBIContainer.java:783)
> at
> org.apache.servicemix.jbi.container.JBIContainer$1.call(JBIContainer.java:781)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.lang.Thread.run(Thread.java:662)
> ERROR - ComponentMBeanImpl - Error shutting down service assembly
> type-registry-sa
> The actual error has nothing to do with XML parsing and it's caused by a
> Thread.join timeout at ServiceUnitLifeCycle:129.
> The XML error is generated at ServiceAssemblyLifeCycle:459 where it tries to
> parse the timeout message "Timeout expired while waiting for async operation
> shutdown kdv-pdf-template-ws".
> I describe what I think is happening during the shutdown (see attached thread
> dump):
> - the main shutdown thread locks the ComponentRegistry (Thread-43, monitor
> 0x00000000d4a82010).
> - the "AsyncDeployer for shutdown ksign-ws" thread can not call the
> synchronized deregisterComponent method
> - other "AsyncDeployer threads" block on the 0x00000000d4b1b270 monitor owned
> by the "AsyncDeployer for shutdown ksign-ws" thread.
> - after two minutes the Thread.join call times out
> I think this is not specific of cxf-se components: it just happens that we
> have a lot of those.
> Workaround: use the "org.apache.servicemix.deployment.timeout" system
> property to configure a shorter timeout in millis.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira