[
https://issues.apache.org/jira/browse/AXIS-2647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13224092#comment-13224092
]
Le Huy commented on AXIS-2647:
------------------------------
We are facing similar problem, in which getFieldNameForElement entered an
infinite loop due to corruption if the hashmap used as cache without proper
synchronization.
Can someone share the patch that synchronize access inside TypeDesc class
> 100% CPU hang in TypeDesc.java:313
> ----------------------------------
>
> Key: AXIS-2647
> URL: https://issues.apache.org/jira/browse/AXIS-2647
> Project: Axis
> Issue Type: Bug
> Components: Serialization/Deserialization
> Affects Versions: 1.4
> Environment: JDK 1.5.0_10 AMD64
> RHEL4 x64
> Reporter: Patrick Eger
> Priority: Critical
>
> Basically we have a bunch of threads stuck within Axis consuming 100% of our
> CPU. This appears to be during deserialization of a response (from EBay API
> in this instance). My best guess would be some sort of thread-unsafe
> modification to the HashMap used by getFieldNameForElement(), resulting in a
> corrupted internal HashMap state and thusly infinite looping.
> ----------------------------------------------------------
> Name: http-8080-Processor51
> State: RUNNABLE
> Total blocked: 52 Total waited: 1,995
> Stack trace:
> java.util.HashMap.get(HashMap.java:346)
> org.apache.axis.description.TypeDesc.getFieldNameForElement(TypeDesc.java:313)
> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:197)
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
> org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> org.apache.axis.client.Call.invoke(Call.java:2467)
> org.apache.axis.client.Call.invoke(Call.java:2366)
> org.apache.axis.client.Call.invoke(Call.java:1812)
> com.automotive.app.content.ebay.api.EBayAPISoapBindingStub.getItem(EBayAPISoapBindingStub.java:7962)
> .....
> Name: http-8080-Processor25
> State: RUNNABLE
> Total blocked: 295 Total waited: 10,588
> Stack trace:
> java.util.HashMap.get(HashMap.java:346)
> org.apache.axis.description.TypeDesc.getFieldNameForElement(TypeDesc.java:313)
> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:197)
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
> org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> org.apache.axis.client.Call.invoke(Call.java:2467)
> org.apache.axis.client.Call.invoke(Call.java:2366)
> org.apache.axis.client.Call.invoke(Call.java:1812)
> com.automotive.app.content.ebay.api.EBayAPISoapBindingStub.getItem(EBayAPISoapBindingStub.java:7962)
> .....
--
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: [email protected]
For additional commands, e-mail: [email protected]