axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jaganmohan Reddy (Commented) (JIRA)" <axis-...@ws.apache.org>
Subject [jira] [Commented] (AXIS-2854) WSDD deployment getting stuck due to race condition in WSDDDeployableItem.
Date Wed, 11 Jan 2012 06:58:39 GMT

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

Jaganmohan Reddy commented on AXIS-2854:
----------------------------------------

Yes, enumMap in JavaUtils.isEnumClas is not thread safe.

"[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default
(self-tuning)'" RUNNABLE
        java.util.HashMap.get(HashMap.java:346)
        org.apache.axis.utils.JavaUtils.isEnumClass(JavaUtils.java:1060) 
                
> WSDD deployment getting stuck due to race condition in WSDDDeployableItem.
> --------------------------------------------------------------------------
>
>                 Key: AXIS-2854
>                 URL: https://issues.apache.org/jira/browse/AXIS-2854
>             Project: Axis
>          Issue Type: Bug
>          Components: Deployment / Registries
>    Affects Versions: 1.3, 1.4
>         Environment: Weblogic 9.2, SunOS, JDK5
>            Reporter: Jaganmohan Reddy
>              Labels: deployment, stuck,, synchronized, threading, wsdd
>         Attachments: WSDDDeployableItem.java
>
>
> We can observe ExecuteThread: '1' and ExecuteThread: '2' are trying to do WSDDDeployment
and got stuck at
> java.util.HashMap.get(HashMap.java:346). 
> More information regarding 'HashMap.get() can cause an infinite loop!'
>     http://mailinator.blogspot.com/2009/06/beautiful-race-condition.html
>     http://lightbody.net/blog/2005/07/hashmapget_can_cause_an_infini.html
> Servers need to be restarted or application has to be redeployed to complete the deployment.
> "[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'"
> RUNNABLE
>         java.util.HashMap.get(HashMap.java:346)
>         org.apache.axis.utils.JavaUtils.isEnumClass(JavaUtils.java:1060)       
> org.apache.axis.encoding.ser.BeanSerializerFactory.init(BeanSerializerFactory.java:49)
      
> org.apache.axis.encoding.ser.BeanSerializerFactory.<init>(BeanSerializerFactory.java:42)
      
> org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(BaseSerializerFactory.java:235)
      
> org.apache.axis.deployment.wsdd.WSDDDeployment.deployMapping(WSDDDeployment.java:286)
      
> org.apache.axis.deployment.wsdd.WSDDDeployment.getTypeMappingRegistry(WSDDDeployment.java:462)
      
> org.apache.axis.configuration.FileProvider.getTypeMappingRegistry(FileProvider.java:262)
>         org.apache.axis.AxisEngine.getTypeMappingRegistry(AxisEngine.java:348)      

> org.apache.axis.handlers.soap.SOAPService.setEngine(SOAPService.java:228)       
> org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:470)   
   
> org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
      
> org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
      
> org.apache.axis.deployment.wsdd.WSDDDeployment.getService(WSDDDeployment.java:427)  
    
> org.apache.axis.configuration.FileProvider.getService(FileProvider.java:231)
>         org.apache.axis.AxisEngine.getService(AxisEngine.java:311)       
> org.apache.axis.MessageContext.setTargetService(MessageContext.java:755)
>         org.apache.axis.handlers.http.URLMapper.invoke(URLMapper.java:50)       
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>         org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>         org.apache.axis.server.AxisServer.invoke(AxisServer.java:239)
>         org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:763)       
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)       
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)       
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)       
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3241)
      
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)       
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
      
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
      
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
>         weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>         weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
>         "[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default
> (self-tuning)'" RUNNABLE
>         java.util.HashMap.get(HashMap.java:346)
>         org.apache.axis.utils.JavaUtils.isEnumClass(JavaUtils.java:1060)       
> org.apache.axis.encoding.ser.BeanSerializerFactory.init(BeanSerializerFactory.java:49)
      
> org.apache.axis.encoding.ser.BeanSerializerFactory.<init>(BeanSerializerFactory.java:42)
      
> org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(BaseSerializerFactory.java:235)
      
> org.apache.axis.deployment.wsdd.WSDDDeployment.deployMapping(WSDDDeployment.java:286)
      
> org.apache.axis.deployment.wsdd.WSDDDeployment.getTypeMappingRegistry(WSDDDeployment.java:462)
      
> org.apache.axis.configuration.FileProvider.getTypeMappingRegistry(FileProvider.java:262)
>         org.apache.axis.AxisEngine.getTypeMappingRegistry(AxisEngine.java:348)      

> org.apache.axis.handlers.soap.SOAPService.setEngine(SOAPService.java:228)       
> org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:470)   
   
> org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
      
> org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
      
> org.apache.axis.deployment.wsdd.WSDDDeployment.getService(WSDDDeployment.java:427)  
    
> org.apache.axis.configuration.FileProvider.getService(FileProvider.java:231)
>         org.apache.axis.AxisEngine.getService(AxisEngine.java:311)       
> org.apache.axis.MessageContext.setTargetService(MessageContext.java:755)
>         org.apache.axis.handlers.http.URLMapper.invoke(URLMapper.java:50)       
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>         org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>         org.apache.axis.server.AxisServer.invoke(AxisServer.java:239)
>         org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:763)       
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)       
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)       
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)       
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3241)
      
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>        weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010)
      
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916)
      
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
>         weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
>         weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message