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

Reply via email to