IBM Support

PM02879: MQEXCEPTION MQRC 2012 USING WMQ ON 64 BIT JVMS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • With 64 bit JVMs, an MQException with MQRC 2012 is thrown,
    seemingly randomly, when a transaction is committed:
    
    com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2012
    at com.ibm.mq.MQQueueManager.commit(MQQueueManager.java:2220)
    at com.ibm.mq.jms.MQSession.commitQ(MQSession.java:3779)
    at com.ibm.mq.jms.MQQueueSession.commit(MQQueueSession.java:154)
    at
    com.ibm.ejs.jms.JMSManagedSession$JMSLocalTransaction.commit(JMS
    ManagedSession.java:1201)
    at
    com.ibm.ejs.j2c.LocalTransactionWrapper.commit(LocalTransactionW
    rapper.java:259)
    
    The cause of the problem could result in other symptoms that
    have not yet been observed.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of WebSphere Application Server    *
    *                 V7.0                                         *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: MQException MQRC 2012 thrown at         *
    *                      transaction commit.  There could be     *
    *                      other symptoms of this problem that     *
    *                      are not yet known.                      *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    On 64 bit JVMs, the Java Object.hashcode() method cannot
    return a unique int for every Object.  Traditionally
    hashcode is based on the memory address of the Object itself;
    there are more addresses with 64 bit than MAX_INT (32 bit
    signed integer) can address.  Internally the WMQ JMS Provider
    relied on the uniqueness of hashcode to identify an internal
    connector (the JMS Session pools) to J2C.
    
    If two different connectors had the same identifier, when one
    is cleaned up, the other that should still be active has some
    state removed.  This can result in the exception described,
    but equally could result in some other, seemingly random,
    problem.
    
    It is very unlikely that two Objects would have the same
    hashcode, let alone two Objects used in a group of say 30 (the
    number of JMS Connections in the pool).  On Z/OS, however, the
    implementation of hashcode frequently produces the same int
    for different Objects, making the likelihood of this problem
    occurring higher.
    
    The likelihood of hitting this problem is also increased when
    many JMS Connections are created and destroyed. This scenario
    is possible when there are many requests of Connections using
    different user aliases, so J2C must destroy one Connection to
    create another suitable Connection with the correct
    credentials if the J2C Connection pool is already full.
    

Problem conclusion

  • This APAR fixes the problem by generating unique IDs for each
    connector, and no longer relies on hashcode.
    
    APAR PK02879 is currently targeted for inclusion in Service
    Level (Fix Pack) 7.0.0.8 of WebSphere Application Server V7.0.
    
    Please refer to URL:
    //www.ibm.com/support/docview.wss?rs=404&uid=swg27006970
    for Fix Pack availability.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM02879

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / CST

  • Submitted date

    2009-12-05

  • Closed date

    2009-12-08

  • Last modified date

    2010-01-11

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

    PK92871

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

    UK52698

Modules/Macros

  • BBGBOA   BBGUBINF BBORBACB BBORTFTE BBOUBINF
    BBOZ3446 BBO00772 BBO00798 BBO00801 BBO01062 BBO02121 BBO03574
    BBO06919 BBO09142 BBO09341 BBO09390 BBO09391 BBO09405 BBO09406
    BBO09504 BBO09958 BBO09990 BBO10127 BBO10128 BBO10142 BBO10143
    BBO10188 BBO10189 BBO10241 BBO10516 BBO10517 BBO10521 BBO10524
    BBO10525 BBO10529 BBO10533 BBO10538 BBO10540 BBO10541 BBO10542
    BBO10543 BBO10544 BBO10545 BBO10547 BBO10549 BBO10550 BBO10551
    BBO10555 BBO10556 BBO10562 BBO10563 BBO10564 BBO10573 BBO10575
    BBO10581 BBO10582 BBO10584 BBO10590 BBO10597 BBO10598 BBO10599
    BBO10604 BBO10605 BBO10606 BBO10607 BBO10609 BBO10610 BBO10611
    BBO16109 BBO16111 BBO16114 BBO16115 BBO16119 BBO16121 BBO16123
    BBO16131 BBO16132 BBO16140 BBO16141 BBO16145 BBO16146 BBO16147
    BBO16159 BBO16166 BBO16167 BBO16168 BBO16169 BBO16172 BBO16173
    BBO16194 BBO16195 BBO16210 BBO16217 BBO16218 BBO16219 BBO16220
    BBO16224 BBO16230 BBO16231 BBO16234 BBO16237 BBO16238 BBO16241
    BBO16243 BBO16244 BBO16255 BBO16257 BBO16262 BBO16267 BBO16268
    BBO16269 BBO16270
    

Fix information

  • Fixed component name

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R700 PSY UK52698

       UP09/12/18 P F912

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
10 February 2022