Uploaded image for project: 'Axis'
  1. Axis
  2. AXIS-2647

100% CPU hang in TypeDesc.java:313

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 1.4
    • None
    • JDK 1.5.0_10 AMD64
      RHEL4 x64

    Description

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

      Attachments

        1. TypeDesc.java
          17 kB
          Andrey Adamovich

        Activity

          People

            Unassigned Unassigned
            peger@automotive.com Patrick Eger
            Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: