IBM Support

IT32726: MQ V9.1.5 CD classes for Java application gets EOFException whenprocessing PCF messages containing MQI accounting data

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

  • An IBM MQ classes for Java application processes PCF response
    messages containing MQI accounting data from a queue manager.
    
    The application runs successfully when it is using the IBM MQ
    V9.1.4 CD classes for Java. However, after upgrading to V9.1.5
    CD, the application reports the following exception:
    
    java.lang.RuntimeException: java.io.EOFException
        at
    com.ibm.mq.headers.MQHeaderList.write(MQHeaderList.java:660)
        at
    com.ibm.mq.MQMessage$MQMessageHeaderList.write(MQMessage.java:24
    5)
        at
    com.ibm.mq.MQMessage.readPropertiesRfh2(MQMessage.java:3845)
        at
    com.ibm.mq.MQMessage.performProcessingAfterGet(MQMessage.java:33
    25)
        at com.ibm.mq.MQDestination.getInt(MQDestination.java:701)
        at com.ibm.mq.MQDestination.get(MQDestination.java:452)
        at com.ibm.mq.MQDestination.get(MQDestination.java:407)
        ......
    Caused by: java.io.EOFException
        at
    java.io.DataInputStream.readFully(DataInputStream.java:208)
        at
    com.ibm.mq.headers.internal.DataInputWrapper.readFully(MessageWr
    apper.java:528)
        at
    com.ibm.mq.headers.internal.store.ByteStore.readFrom(ByteStore.j
    ava:499)
        at com.ibm.mq.headers.internal.Header.read(Header.java:1053)
        at
    com.ibm.mq.headers.MQHeaderList.write(MQHeaderList.java:651)
        ......
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the IBM MQ V9.1.5 CD classes for
    Java who have applications that process PCF messages containing
    MQI accounting data.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    In IBM MQ V9.1.5 CD, an internal change was made to the IBM MQ
    classes for Java to remove any null bytes from the end of String
    parameters (MQCFST) within PCF messages. However, the
    StringLength field within the MQCFST was not updated to reflect
    the new length of the parameter if null bytes were removed. As a
    result, the MQ classes for Java would fail to read any
    subsequent parameters within a PCF message correctly. This would
    result in exceptions similar to the ones shown below being
    thrown:
    
    Exception 1:
    ---------------
    java.lang.RuntimeException: java.io.EOFException
        at
    com.ibm.mq.headers.MQHeaderList.write(MQHeaderList.java:660)
        at
    com.ibm.mq.MQMessage$MQMessageHeaderList.write(MQMessage.java:24
    5)
        at
    com.ibm.mq.MQMessage.readPropertiesRfh2(MQMessage.java:3845)
        at
    com.ibm.mq.MQMessage.performProcessingAfterGet(MQMessage.java:33
    25)
        at com.ibm.mq.MQDestination.getInt(MQDestination.java:701)
        at com.ibm.mq.MQDestination.get(MQDestination.java:452)
        at com.ibm.mq.MQDestination.get(MQDestination.java:407)
        ......
    Caused by: java.io.EOFException
        at
    java.io.DataInputStream.readFully(DataInputStream.java:208)
        at
    com.ibm.mq.headers.internal.DataInputWrapper.readFully(MessageWr
    apper.java:528)
        at
    com.ibm.mq.headers.internal.store.ByteStore.readFrom(ByteStore.j
    ava:499)
        at com.ibm.mq.headers.internal.Header.read(Header.java:1053)
        at
    com.ibm.mq.headers.MQHeaderList.write(MQHeaderList.java:651)
        ......
    
    
    Exception 2:
    ---------------
    Exception: com.ibm.mq.MQException: MQJE001: Completion Code '2',
    Reason '2237'.
    com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason
    '2237'.
    	at
    com.ibm.mq.MQDestination.internalMQPUT(MQDestination.java:1384)
    	at com.ibm.mq.MQDestination.put(MQDestination.java:1234)
    	at com.ibm.mq.MQDestination.put(MQDestination.java:1107)
        ......
    

Problem conclusion

  • The IBM MQ classes for Java have been updated to look for any
    null bytes at the end of String parameters (MQCFST) within PCF
    messages, and replace them with spaces. This ensures the length
    of the MQCFST doesn't change, and allows the MQ classes for Java
    to process the MQCFST parameters correctly.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.1 CD    TBC.
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT32726

  • Reported component name

    IBM MQ BASE MP

  • Reported component ID

    5724H7271

  • Reported release

    915

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-05-01

  • Closed date

    2020-05-22

  • Last modified date

    2020-06-02

  • 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

    IBM MQ BASE MP

  • Fixed component ID

    5724H7271

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
02 June 2020