IBM Support

PM93728: DEADLOCK USING LISTENER PORTS OR MULTIPLE JMS SESSIONS FROM A SINGLE JMS CONNECTION

Fixes are available

8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
8.5.5.2: WebSphere Application Server V8.5.5 Fix Pack 2
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
8.5.5.3: WebSphere Application Server V8.5.5 Fix Pack 3
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.5.5.4: WebSphere Application Server V8.5.5 Fix Pack 4
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.5.5.5: WebSphere Application Server V8.5.5 Fix Pack 5
8.5.5.6: WebSphere Application Server V8.5.5 Fix Pack 6
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
8.5.5.7: WebSphere Application Server V8.5.5 Fix Pack 7
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.5.5.8: WebSphere Application Server V8.5.5 Fix Pack 8
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
8.5.5.9: WebSphere Application Server V8.5.5 Fix Pack 9
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.5.5.10: WebSphere Application Server V8.5.5 Fix Pack 10
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Message processing stops when using either Listener Ports or a
    single JMS Connection with multiple JMS Sessions.  The cause
    is a deadlock.  A javacore reveals an ABBA deadlock between
    JMS Messaging Adapter and J2C similar to:
    
    Thread 1
    Blocked on:
    java/util/Collections$SynchronizedSet@0x8387E708 Owned by:
    "Thread 2"
    at
    java/util/Collections$SynchronizedCollection.remove(Collection
    s.java:463(Compiled Code))
    at
    com/ibm/ejs/jms/JMSManagedSession.removeConnectionEventListener(
    JMSManagedSession.java:558)
    at com/ibm/ejs/j2c/MCWrapper.destroy(MCWrapper.java:2037)
    at
    com/ibm/ejs/j2c/FreePool.cleanupAndDestroyMCWrapper(FreePool.jav
    a:756)
    at
    com/ibm/ejs/j2c/FreePool.cleanupAndDestroyAllFreeConnections(Fre
    ePool.java:2574)
    at
    com/ibm/ejs/j2c/PoolManager.quiesceIfPossible(PoolManager.java:6
    774)
    at
    com/ibm/ejs/j2c/ConnectionFactoryDetailsImpl.stop(ConnectionFact
    oryDetailsImpl.java:442)
    at
    com/ibm/ejs/j2c/ConnectionFactoryBuilderServerImpl.freeConnectio
    nFactory(ConnectionFactoryBuilderServerImpl.java:1439)
    at
    com/ibm/ejs/jms/JMSManagedConnection.destroy(JMSManagedConnectio
    n.java:1177)
    at
    com/ibm/ejs/j2c/MCWrapper.destroy(MCWrapper.java:2074)
    at
    com/ibm/ejs/j2c/FreePool.cleanupAndDestroyMCWrapper(FreePool.jav
    a:756)
    at
    com/ibm/ejs/j2c/FreePool.returnToFreePool(FreePool.java:508(Comp
    iledCode))
    at
    com/ibm/ejs/j2c/PoolManager.release(PoolManager.java:2410(Compil
    edCode))
    at
    com/ibm/ejs/j2c/MCWrapper.releaseToPoolManager(MCWrapper.java:25
    95(Compiled Code))
    at
    com/ibm/ejs/j2c/MCWrapper.connectionErrorOccurred(MCWrapper.java
    :2721)
    at
    com/ibm/ejs/j2c/ConnectionEventListener.connectionErrorOccurred(
    ConnectionEventListener.java:511)
    at
    com/ibm/ejs/jms/JMSManagedConnection.connectionErrorOccurred(JMS
    ManagedConnection.java:1433)
    at
    com/ibm/ejs/jms/JMSConnectionHandle.markManagedConnectionAsStale
    (JMSConnectionHandle.java:929)
    at
    com/ibm/ejs/jms/JMSSessionHandle.markManagedObjectsAsStale(JMSSe
    ssionHandle.java:1539)
    at
    com/ibm/ejs/jms/JMSSessionHandle.enlist(JMSSessionHandle.java:10
    92)
    ...
    
    Thread 2
    Blocked on: java/lang/Object@0x7F024BC0
    Owned by: "Thread 1"
    at
    com/ibm/ejs/j2c/FreePool.removeMCWrapperFromList(FreePool.java:6
    71)
    at
    com/ibm/ejs/j2c/FreePool.returnToFreePool(FreePool.java:510(Comp
    iledCode))
    at
    com/ibm/ejs/j2c/PoolManager.release(PoolManager.java:2410(Compil
    ed Code))
    at
    com/ibm/ejs/j2c/MCWrapper.releaseToPoolManager(MCWrapper.java:25
    95(Compiled Code))
    at
    com/ibm/ejs/j2c/ConnectionEventListener.interactionPending(Conne
    ctionEventListener.java:1022)
    at
    com/ibm/ejs/jms/JMSManagedSession.interactionPending(JMSManagedS
    ession.java:959)
    at
    com/ibm/ejs/jms/JMSManagedSession.enlist(JMSManagedSession.java:
    822(Compiled Code))
    at
    com/ibm/ejs/jms/JMSSessionHandle.enlist(JMSSessionHandle.java:10
    88)
    ...
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server non-default JMS Messaging            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Deadlock causes hang in message         *
    *                      processing.                             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    One of the locks involved in the ABBA deadlock was needed
    because an iteration over a synchronized Set was required.
    

Problem conclusion

  • This APAR resolves the problem by using
    java.concurrent.ConcurrentHashMap to back a concurrent Set.
    Therefore no explicit synchronization is required.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.33, 8.0.0.8 and 8.5.5.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

    PM93728

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-07-24

  • Closed date

    2013-08-23

  • Last modified date

    2014-05-06

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R800 PSY

       UP

  • R850 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 8.0

Reference #: PM93728

Modified date: 06 May 2014