IBM Support

IT22503: MQ Java: A java.util.ConcurrentModificationException FFDC can begenerated when a connection is broken

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When a connection in the MQ Java client is disconnected (for
    example by a broken network connection), an FFDC reporting a
    java.util.ConcurrentModificationException can be generated.  The
    FFDC shows information similar to the following:
    
    Source Class     :- com.ibm.mq.jmqi.remote.impl.RemoteRcvThread
    Source Method    :- run()
    ProbeID          :- 05
    Thread           :- name=RcvThread:
    com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection@292459877[
    qmid=QM1,fap=13,channel=MY.SVRCONN,ccsid=819,sharecnv=10,hbint=3
    00,peer=localhost(1414),localport=65734,ssl=no] priority=5
    group=main]
    
    Data
    ----
    
    Description              :-  Unexpected Exception
    Exception cause message  :-  <null>
    Exception summary        :-
    java.util.ConcurrentModificationException[null]
    exception               :-  ExceptionDepth is 2
    Cause:1       :-  java.util.ConcurrentModificationException
    
    StackTrace:1  :-  java.util.ConcurrentModificationException
     at java.util.TreeMap$PrivateEntryIterator.nextEntry
     at java.util.TreeMap$ValueIterator.next
     at com.ibm.mq.jmqi.remote.impl.RemoteConnection.disconnect
     at
    com.ibm.mq.jmqi.remote.impl.RemoteConnection.asyncFailureNotify
     at com.ibm.mq.jmqi.remote.impl.RemoteRcvThread.run
     at java.lang.Thread.run
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the IBM MQ Java MQI implementation,
    which includes the:
    
      - MQ classes for JMS
      - MQ classes for Java
      - MQ JCA Resource Adapter
      - Managed File Transfer component
    
    when CLIENT transport mode connections to a queue manager are
    used.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The Java MQI (JMQI) maintains a collection of conversations
    (otherwise known as hConns) that are associated with a
    particular TCP/IP connection to a queue manager.  When a
    conversation is created, it is added to the collection.  When a
    conversation is closed, it is removed from the collection.
    
    If the TCP/IP connection between the client application and the
    queue manager was terminated, then the JMQI code attempted to
    mark all the conversations associated with the connection as
    being disconnected.  To do this it looped over the collection of
    conversations that were maintained.  If another thread was in
    the process of attempting to allocate a new conversation on the
    connection that had just been disconnected, it was possible for
    the conversation to be added to the collection of conversations
    without correct synchronization.  As such, because the
    collection of conversations was structurally changed, the thread
    iterating over it threw a
    java.util.ConcurrentModificationException that resulted in an
    FFDC being generated.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    IT22503

  • Reported component name

    WMQ MFT V8.0

  • Reported component ID

    5724H7252

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-09-22

  • Closed date

    2017-11-28

  • Last modified date

    2017-11-28

  • 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

    WMQ MFT V8.0

  • Fixed component ID

    5724H7252

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
28 November 2017