[
https://issues.apache.org/jira/browse/CXF-1839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12767054#action_12767054
]
Alton Idowu commented on CXF-1839:
----------------------------------
Go ahead and close it. Unfortunately, we have been unable to consistently
reproduce it.
> Weird deadlock between CXF and spring on WAS.
> ---------------------------------------------
>
> Key: CXF-1839
> URL: https://issues.apache.org/jira/browse/CXF-1839
> Project: CXF
> Issue Type: Bug
> Components: JAX-WS Runtime
> Affects Versions: 2.1.1
> Environment: Windows XP, Ubuntu 7.04, jdk 1.5.0_09, CXF 2.1, spring
> 2.0.2, quartz 1.6.1, WAS 6.1
> Reporter: Alton Idowu
> Assignee: Benson Margulies
>
> We are using quartz to make periodic calls to different web services. Every
> once in a while we get a deadlock that eventually crashes our WAS server.
> The stack trace below does not make sense to me. it appears that worker-5
> has a lock on the LinkedHashMap containing the spring singleton beans that
> worker-7 is attempt to access in the synchronized configurebeans method. And
> worker -5 is waiting for worker-7 to exit the configurebeans method. I took
> a quick look at the code and it didn't seem that worker-5 kept a reference.
> It would be great if someone point us in the right direction to solve this.
> Let me know if you require additional information....
> Found one Java-level deadlock:
> =============================
> "clusteredScheduler_Worker-5":
> waiting to lock monitor 0x0000000101f4a6b8 (object 0xfffffffed1c55700, a
> org.apache.cxf.configuration.spring.ConfigurerImpl),
> which is held by "clusteredScheduler_Worker-7"
> "clusteredScheduler_Worker-7":
> waiting to lock monitor 0x0000000101f4af40 (object 0xfffffffed1b36d20, a
> java.util.LinkedHashMap),
> which is held by "clusteredScheduler_Worker-5"
> Java stack information for the threads listed above:
> ===================================================
> "clusteredScheduler_Worker-5":
> at
> org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:93)
> - waiting to lock <0xfffffffed1c55700> (a
> org.apache.cxf.configuration.spring.ConfigurerImpl)
> at
> org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:88)
> at
> org.apache.cxf.transport.http.AbstractHTTPTransportFactory.configure(AbstractHTTPTransportFactory.java:223)
> at
> org.apache.cxf.transport.http.AbstractHTTPTransportFactory.getConduit(AbstractHTTPTransportFactory.java:163)
> at
> org.apache.cxf.transport.http.AbstractHTTPTransportFactory.getConduit(AbstractHTTPTransportFactory.java:145)
> at
> org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:73)
> at
> org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontConduitSelector.java:71)
> at org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:468)
> at
> ilss.suidm.dao.ltc.service.LtcClientFactoryBean.create(LtcClientFactoryBean.java:70)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:102)
> at
> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:275)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:727)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:679)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:388)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:250)
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
> - locked <0xfffffffed1b36d20> (a java.util.LinkedHashMap)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:247)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:161)
> at
> org.springframework.aop.target.LazyInitTargetSource.getTarget(LazyInitTargetSource.java:66)
> - locked <0xfffffffed22b0bf0> (a
> org.springframework.aop.target.LazyInitTargetSource)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:184)
> at $Proxy2.processTransaction(Unknown Source)
> at ilss.suidm.dao.ltc.LtcDAO.processTransaction(LtcDAO.java:80)
> at
> ilss.sysmonitor.delegate.SystemMonitoringDelegate.runSystemTestLTC(SystemMonitoringDelegate.java:544)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> ilss.common.reflect.ReflectionUtil.invokeMethod(ReflectionUtil.java:294)
> at
> ilss.common.reflect.ReflectionUtil.invokeMethodByForce(ReflectionUtil.java:73)
> at
> ilss.sysmonitor.delegate.SystemMonitoringDelegate.runSystemTests(SystemMonitoringDelegate.java:524)
> at
> ilss.common.cron.sysmonitor.BaseSysMonitorTestJobBean.executeJob(BaseSysMonitorTestJobBean.java:36)
> at ilss.common.cron.BaseJobBean.executeInternal(BaseJobBean.java:37)
> at
> org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
> at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
> "clusteredScheduler_Worker-7":
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.containsSingleton(DefaultSingletonBeanRegistry.java:164)
> - waiting to lock <0xfffffffed1b36d20> (a java.util.LinkedHashMap)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.containsLocalBean(AbstractBeanFactory.java:511)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.containsBean(AbstractBeanFactory.java:319)
> at
> org.springframework.context.support.AbstractApplicationContext.containsBean(AbstractApplicationContext.java:650)
> at
> org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:118)
> - locked <0xfffffffed1c55700> (a
> org.apache.cxf.configuration.spring.ConfigurerImpl)
> at
> org.apache.cxf.jaxws.ServiceImpl.configureObject(ServiceImpl.java:448)
> at
> org.apache.cxf.jaxws.ServiceImpl.configureObject(ServiceImpl.java:442)
> at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:382)
> at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:247)
> at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:234)
> at javax.xml.ws.Service.getPort(Service.java:40)
> at
> mil.dla.ide.glsc_ots.GLSCOTSIdeService.getGLSCOTSIdePort0(GLSCOTSIdeService.java:65)
> at
> ilss.dla.dao.service.DlaServiceClient.getPort(DlaServiceClient.java:89)
> at
> ilss.dla.dao.service.DlaServiceClient.getRequisitionStatusByReqNum(DlaServiceClient.java:78)
> at
> ilss.dla.dao.DlaQueryDAO.getRequisitionsByReqNum(DlaQueryDAO.java:98)
> at
> ilss.sysmonitor.delegate.SystemMonitoringDelegate.runSystemTestDLA_WS(SystemMonitoringDelegate.java:569)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> ilss.common.reflect.ReflectionUtil.invokeMethod(ReflectionUtil.java:294)
> at
> ilss.common.reflect.ReflectionUtil.invokeMethodByForce(ReflectionUtil.java:73)
> at
> ilss.sysmonitor.delegate.SystemMonitoringDelegate.runSystemTests(SystemMonitoringDelegate.java:524)
> at
> ilss.common.cron.sysmonitor.BaseSysMonitorTestJobBean.executeJob(BaseSysMonitorTestJobBean.java:36)
> at ilss.common.cron.BaseJobBean.executeInternal(BaseJobBean.java:37)
> at
> org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
> at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
> Found 1 deadlock.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.