[ https://issues.apache.org/jira/browse/AXIS-2647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12760530#action_12760530 ]
Andrey Adamovich commented on AXIS-2647: ---------------------------------------- We faced the same issue and fixed that by patching Axis code i.e. putting syncronisation blocks inside TypeDesc class to secure access to fieldElementMap. > 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. - You can reply to this email to add a comment to the issue online.