IBM Support

PH24641: MQ Z/OS: CSQX112E CSQXDISP DISPATCHER PROCESS ERROR REASON=878000-00000014

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A channel receives a message, in this case an MQADMIN message,
    from a distributed queue manager and is passing it to a
    different queue manager. During data conversion by the z/OS
    sender channel that has CONVERT=YES, the channel to fails due
    to:
    
     CSQX112E CSQXDISP Dispatcher process error,
     TCB=nnnnnnnn reason=878000-00000014
     CSQX599E CSQXRCTL Channel <channel-name> ended abnormally
    
    Reason code 14 for the ABEND878 means a negative amount of
    storage was specified on a GETMAIN macro.
    
    The channel on the target distributed queue manager receives:
    
     AMQ9209: Connection to host closed.
     AMQ9999: Channel ended abnormally.
    
    CSQX209E would be the equivalent message for a z/OS sender.
    
    
    The problem occurs because the message is defined as having
    format MQADMIN, but it starts with EBCDIC character data. The
    data conversion logic attempts to parse the message as PCF
    data. The second word of data is meant to be a length field,
    and in some cases the EBCDIC data appears as a negative length.
    This results in MQ issuing a getmain with a negative length,
    which causes the 878 abend.
    
    If the second word in the badly formed PCF message is a large
    non-negative number, then the channel correctly detects that
    there has been an error in conversion, puts the message on the
    dead letter queue with
     CSQX548E CSQXRCTL Messages sent to local
     dead-letter queue, reason=2119
     (MQRC_NOT_CONVERTED)
    and the channel continues to run.
    
    The root of the error is something wrong with the MQADMIN
    message, but MQ should handle the bad message in a more
    graceful way.
    

Local fix

  • Correct the application building the badly formed message
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 0 Modification 0 and Version 9       *
    *                 Release 1 Modification 0.                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: If a MQADMIN message with value over    *
    *                      x80000000 at offset 4 attempts to be    *
    *                      sent to a channel with channel          *
    *                      conversion enabled, a                   *
    *                      DISPATCHER PROCESS ERROR occurs.        *
    ****************************************************************
    When a MQADMIN message with a value at offset 4 greater than
    x80000000 attempts to be sent to a channel with channel
    conversion enabled, the value doesn't get checked
    for an appropriate size, and goes into internal error checking
    which in turn causes the dispatcher process error. This causes
    the following error:
    
    +CSQX112E MQXX CSQXDISP Dispatcher process error
    , TCB=009B8C68  288
    reason=878000-00000014
    

Problem conclusion

  • A check has been put in place to ensure the value is an
    appropriate size.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH24641

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-04-21

  • Closed date

    2020-05-28

  • Last modified date

    2020-09-01

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

    PH17598

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

    UI69737 UI69738

Modules/Macros

  • CSQAADM6
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R000 PSY UI69737

       UP20/08/08 P F008

  • R100 PSY UI69738

       UP20/08/08 P F008

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":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
02 September 2020