IBM Support

IT25581: MQDataException containing reason code 3013 thrown when receiving messages containing MQCFGR parameters

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 V9.0.5.0 classes for Java application connects to a
    queue manager using the BINDINGS transport, and receives channel
    statistics messages that are generated by the queue manager. The
    channel statistics messages contain a number of IBM MQ
    Programmable Command Format (PCF) group parameters, which have a
    type of MQCFGR.
    
    When processing the channel statistics messages, the IBM MQ
    classes for Java application receives the following exception:
    
    com.ibm.mq.headers.MQDataException: MQJE001: Completion Code
    '2', Reason '3013'.
      at
    com.ibm.mq.headers.MQHeaderList.write(MQHeaderList.java:598)
      at
    com.ibm.mq.headers.MQHeaderList.write(MQHeaderList.java:498)
      at
    com.ibm.mq.MQMessage.readPropertiesRfh2(MQMessage.java:3715)
      at
    com.ibm.mq.MQMessage.performProcessingAfterGet(MQMessage.java:32
    25)
      at com.ibm.mq.MQDestination.getInt(MQDestination.java:701)
      at com.ibm.mq.MQDestination.get(MQDestination.java:452)
    :     :     :     :     :     :     :     :     :     :     :
        :
    Caused by: com.ibm.mq.headers.MQDataException: MQJE001:
    Completion Code '2', Reason '3013'.
    at
    com.ibm.mq.headers.pcf.PCFHeaderFactory.decode(PCFHeaderFactory.
    java:243)
    at com.ibm.mq.headers.pcf.MQCFGR.read(MQCFGR.java:240)
    at com.ibm.mq.headers.MQHeaderList.write(MQHeaderList.java:589)
    ... 8 more
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of:
    
    - The IBM MQ classes for Java.
    - The IBM MQ Headers and PCF classes.
    
    who have applications that consume messages which contain PCF
    group parameters (MQCFGR).
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The topic:
    
      MQCFGR - Group parameter
    
    in the IBM MQ V9.1 section of IBM Knowledge Center, which can be
    found at the following URI:
    
    https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/com.
    ibm.mq.ref.doc/q049390_.htm
    
    contains the following information about this Programmable
    Command Format (PCF) parameter:
    
    "The MQCFGR structure is a group parameter in which the
    subsequent parameter structures are grouped together as a single
    logical unit."
    
    Unfortunately, the IBM MQ Headers and PCF classes (which are
    used internally by the IBM MQ classes for Java to process
    messages containing PCF data) did not treat MQCFGR parameters in
    this way. Rather than grouping all of the parameters contained
    within the MQCFGR parameter as a single logical unit, the
    parameters were treated as individual parameters directly
    following the MQCFGR. For example, when the IBM MQ Headers and
    PCF classes read a message containing an MQCFGR that looked like
    this:
    
    -MQCFGR
        - MQCFST
        - MQCFIN
    
    they incorrectly stored the MQCFGR internally as three separate
    parameters:
    
    - An MQCFGR
    - An MQCFST
    - An MQCFIN
    
    If the MQCFGR was then written to an MQMessage object which
    would be returned to an IBM MQ classes for Java application, the
    IBM MQ Headers and PCF classes would be unable to determine the
    end of the MQCFGR parameter group and throw an MQDataException
    containing reason code 3013:
    
      MQRCCF_STRUCTURE_TYPE_ERROR
    
    back to the application.
    

Problem conclusion

  • The IBM MQ Headers and PCF classes have been updated to store
    all of the parameters contained with an MQCFGR parameter as a
    single logical unit. This allows MQCFGRs parameter, and the
    parameters that they contain, to be successfully written to
    MQMessage objects.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.1 CD    9.1.2
    v9.1 LTS   9.1.0.2
    
    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

    IT25581

  • Reported component name

    IBM MQ BASE M/P

  • Reported component ID

    5724H7261

  • Reported release

    905

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-07-04

  • Closed date

    2018-10-23

  • Last modified date

    2018-10-23

  • 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 M/P

  • Fixed component ID

    5724H7261

Applicable component levels

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

Document Information

Modified date:
23 October 2018