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

Nick Birnie commented on CXF-6835:
----------------------------------

Found one Java-level deadlock:
=============================
"qtp1963056288-209 - /neptune/v2/monitor":
  waiting to lock monitor 0x000000000d719168 (object 0x00000000f0958480, a 
java.util.concurrent.ConcurrentHashMap),
  which is held by "main"
"main":
  waiting to lock monitor 0x000000000bc9b748 (object 0x00000000f1b7d728, a 
org.apache.cxf.ws.policy.PolicyEngineImpl),
  which is held by "qtp1963056288-209 - /neptune/v2/monitor"

Java stack information for the threads listed above:
===================================================
"qtp1963056288-209 - /neptune/v2/monitor":
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:188)
        - waiting to lock <0x00000000f0958480> (a 
java.util.concurrent.ConcurrentHashMap)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.isSingleton(AbstractBeanFactory.java:399)
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:447)
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:415)
        at 
org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:1156)
        at 
org.apache.cxf.bus.spring.SpringBeanLocator.getBeansOfType(SpringBeanLocator.java:145)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getPolicyProviders(PolicyEngineImpl.java:141)
        - locked <0x00000000f1b7d728> (a 
org.apache.cxf.ws.policy.PolicyEngineImpl)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedServicePolicy(PolicyEngineImpl.java:437)
        at 
org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(EndpointPolicyImpl.java:151)
        at 
org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:140)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:584)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:313)
        - locked <0x00000000f28c29c8> (a 
org.apache.cxf.binding.soap.SoapTransportFactory$SoapEndpointInfo)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getServerEndpointPolicy(PolicyEngineImpl.java:299)
        at 
org.apache.cxf.ws.policy.PolicyDataEngineImpl.getServerEndpointPolicy(PolicyDataEngineImpl.java:84)
        at 
org.apache.cxf.transport.http.AbstractHTTPDestination.calcServerPolicyInternal(AbstractHTTPDestination.java:532)
        - locked <0x00000000f2769530> (a 
org.apache.cxf.transport.http_jetty.JettyHTTPDestination)
        at 
org.apache.cxf.transport.http.AbstractHTTPDestination.calcServerPolicy(AbstractHTTPDestination.java:546)
        at 
org.apache.cxf.transport.http.AbstractHTTPDestination.getServer(AbstractHTTPDestination.java:912)
        at 
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:219)
        at 
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1065)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:499)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at 
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:745)
"main":
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getPolicyProviders(PolicyEngineImpl.java:136)
        - waiting to lock <0x00000000f1b7d728> (a 
org.apache.cxf.ws.policy.PolicyEngineImpl)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getAggregatedServicePolicy(PolicyEngineImpl.java:437)
        at 
org.apache.cxf.ws.policy.EndpointPolicyImpl.initializePolicy(EndpointPolicyImpl.java:151)
        at 
org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:140)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:584)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:313)
        - locked <0x00000000f3989770> (a 
org.apache.cxf.service.model.EndpointInfo)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(PolicyEngineImpl.java:294)
        at 
org.apache.cxf.ws.policy.EffectivePolicyImpl.initialisePolicy(EffectivePolicyImpl.java:164)
        at 
org.apache.cxf.ws.policy.EffectivePolicyImpl.initialise(EffectivePolicyImpl.java:95)
        at 
org.apache.cxf.ws.policy.PolicyEngineImpl.getEffectiveClientRequestPolicy(PolicyEngineImpl.java:205)
        - locked <0x00000000f3989770> (a 
org.apache.cxf.service.model.EndpointInfo)
        at 
org.apache.cxf.ws.policy.PolicyOutInterceptor.handle(PolicyOutInterceptor.java:98)
        at 
org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:44)
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
        - locked <0x00000000f3989960> (a 
org.apache.cxf.phase.PhaseInterceptorChain)
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
        at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:312)
        at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:327)
        at org.apache.cxf.jaxws.DispatchImpl.invokeOneWay(DispatchImpl.java:467)
        at 
org.apache.cxf.ws.discovery.WSDiscoveryClient.register(WSDiscoveryClient.java:286)
        at 
org.apache.cxf.ws.discovery.internal.WSDiscoveryServiceImpl.serverStarted(WSDiscoveryServiceImpl.java:194)
        at 
org.apache.cxf.ws.discovery.listeners.WSDiscoveryServerListener.startServer(WSDiscoveryServerListener.java:73)
        at 
org.apache.cxf.bus.managers.ServerLifeCycleManagerImpl.startServer(ServerLifeCycleManagerImpl.java:61)
        at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:137)
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:366)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:255)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:543)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1706)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1645)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        - locked <0x00000000f0958480> (a java.util.concurrent.ConcurrentHashMap)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
        - locked <0x00000000f0957cc8> (a java.lang.Object)
        at 
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
        at 
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
        at com.mycompany.XXX(Installer.java:18)
        at org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:426)
        at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:366)
        at org.netbeans.ModuleManager.enable(ModuleManager.java:1025)
        at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:318)
        at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:254)
        at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:294)
        at org.netbeans.core.startup.Main.getModuleSystem(Main.java:172)
        at org.netbeans.core.startup.Main.start(Main.java:308)
        at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
        at java.lang.Thread.run(Thread.java:745)

Found 1 deadlock.



> Deadlock in WS-Discovery when service called during startup
> -----------------------------------------------------------
>
>                 Key: CXF-6835
>                 URL: https://issues.apache.org/jira/browse/CXF-6835
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 3.1.4
>            Reporter: Nick Birnie
>
> When starting up a service with WS-Discovery, there is a deadlock which can 
> occur if the service is invoked from outside. Please see attached stacktraces.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to