IBM Support

PM78861: XML LOCK CONTENTION MAY REDUCE WEB SERVICES PERFORMANCE

Fixes are available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The XML parser used by the JAX-WS web services engine has a
    shared data structure called a symbol table that it updates
    when new XML names are processed. A write lock is sometimes
    acquired for mutating this data structure when no updates are
    required. A race condition exists which allows the XML parser
    to get into a state where it would perpetually lock,
    potentially degrading web services performance.
    
    Here is a sample stack trace collected during a period where
    locking is occurring:
    
    at sun/misc/Unsafe.park(Native Method)
    at
    java/util/concurrent/locks/LockSupport.park(LockSupport.java:197
    (Compiled Code))
    at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.parkAndChe
    ckInterrupt(AbstractQueuedSynchronizer.java:845(Compiled Code))
    at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireQue
    ued(AbstractQueuedSynchronizer.java:878(Compiled Code))
    at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire(Ab
    stractQueuedSynchronizer.java:1208(Compiled Code))
    at
    java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.lock
    (ReentrantReadWriteLock.java:956(Compiled Code))
    at
    com/ibm/xml/xlxp2/scan/util/SymbolMap.resetMap(SymbolMap.java:27
    0(Compiled Code))
    at
    com/ibm/xml/xlxp2/scan/util/SymbolTable.reset(SymbolTable.java:4
    4(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/stax/XMLStreamReaderImpl.reset(XMLStreamRe
    aderImpl.java:356(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/jaxb/JAXBXMLStreamReader.reset(JAXBXMLStre
    amReader.java:357(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/stax/XMLStreamReaderImpl.close(XMLStreamRe
    aderImpl.java:749(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/wssec/WSSXMLStreamReader.close(WSSXMLStrea
    mReader.java:122(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/stax/XMLInputFactoryImpl$XMLStreamReaderPr
    oxyImpl.next(XMLInputFactoryImpl.java:193(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/wssec/WSSXMLInputFactory$WSSStreamReaderPr
    oxy.next(WSSXMLInputFactory.java:55(Compiled Code))
    at
    org/apache/axiom/util/stax/wrapper/XMLStreamReaderWrapper.next(X
    MLStreamReaderWrapper.java:225(Compiled Code))
    at
    org/apache/axiom/util/stax/dialect/DisallowDoctypeDeclStreamRead
    erWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34(Co
    mpiled Code))
    at
    org/apache/axiom/om/impl/builder/StAXOMBuilder.parserNext(StAXOM
    Builder.java:672(Compiled Code))
    at
    org/apache/axiom/om/impl/builder/StAXOMBuilder.next(StAXOMBuilde
    r.java:214(Compiled Code))
    ...
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All IBM WebSphere Application Server users  *
    *                  of JAX-WS and JAXB.                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: XML lock contention may reduce web      *
    *                      services performance.                   *
    ****************************************************************
    * RECOMMENDATION:  Install a fix pack that contains this       *
    *                  APAR.                                       *
    ****************************************************************
    The XML parser used by the JAX-WS web services engine has a
    shared data structure called a symbol table that it updates
    when new XML names are processed. A write lock is sometimes
    acquired for mutating this data structure when no updates are
    required. A race condition exists which allows the XML parser
    to get into a state where it would perpetually lock,
    potentially degrading web services performance.
    Here is a sample stack trace collected during a period where
    locking is occurring:
    at sun/misc/Unsafe.park(Native Method)
    at
    java/util/concurrent/locks/LockSupport.park(LockSupport.java:197
    (Compiled Code))
    at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.parkAndChe
    ckInterrupt(AbstractQueuedSynchronizer.java:845(Compiled Code))
    at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireQue
    ued(AbstractQueuedSynchronizer.java:878(Compiled Code))
    at
    java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire(Ab
    stractQueuedSynchronizer.java:1208(Compiled Code))
    at
    java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.lock
    (ReentrantReadWriteLock.java:956(Compiled Code))
    at
    com/ibm/xml/xlxp2/scan/util/SymbolMap.resetMap(SymbolMap.java:27
    0(Compiled Code))
    at
    com/ibm/xml/xlxp2/scan/util/SymbolTable.reset(SymbolTable.java:4
    4(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/stax/XMLStreamReaderImpl.reset(XMLStreamRe
    aderImpl.java:356(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/jaxb/JAXBXMLStreamReader.reset(JAXBXMLStre
    amReader.java:357(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/stax/XMLStreamReaderImpl.close(XMLStreamRe
    aderImpl.java:749(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/wssec/WSSXMLStreamReader.close(WSSXMLStrea
    mReader.java:122(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/stax/XMLInputFactoryImpl$XMLStreamReaderPr
    oxyImpl.next(XMLInputFactoryImpl.java:193(Compiled Code))
    at
    com/ibm/xml/xlxp2/api/wssec/WSSXMLInputFactory$WSSStreamReaderPr
    oxy.next(WSSXMLInputFactory.java:55(Compiled Code))
    at
    org/apache/axiom/util/stax/wrapper/XMLStreamReaderWrapper.next(X
    MLStreamReaderWrapper.java:225(Compiled Code))
    at
    org/apache/axiom/util/stax/dialect/DisallowDoctypeDeclStreamRead
    erWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34(Co
    mpiled Code))
    at
    org/apache/axiom/om/impl/builder/StAXOMBuilder.parserNext(StAXOM
    Builder.java:672(Compiled Code))
    at
    org/apache/axiom/om/impl/builder/StAXOMBuilder.next(StAXOMBuilde
    r.java:214(Compiled Code))
    ...
    

Problem conclusion

  • The issue was resolved by adding an additional guard in the
    XML parser's symbol table which prevents the perpetual locking
    condition from occurring.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 7.0.0.33, 8.0.0.6 and 8.5.0.2. Please refer to
    the Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM78861

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-12-10

  • Closed date

    2012-12-17

  • Last modified date

    2013-12-09

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R800 PSY

       UP

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 October 2021