IBM Support

PH21813: MQ Z/OS: IF A USER EXIT PASSES AN INCORRECT HCONN, MQ SHOULD RETURN MQRC_HCONN_ERROR RATHER THAN ISSUE ABEND 5C6-00E70056

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The following abend and error message appeared in the CHIN
    joblog:
    
    IEA794I SVC DUMP HAS CAPTURED:
    DUMPID=nnn REQUESTED BY JOB (ssidCHIN)
    DUMP TITLE=ssid,ABN= 5C6-00E70056,C=MQ900.900.CHIN
    LOC=CSQXADPM.CSQXADPM
    
    +CSQX111E CSQXDISP User channel exit error, TCB=nnnnnnnn
    
    
    Reason code 00E70056 equates to CSQX_ABEND_BAD_HQM_EYECATCHER.
    
    A trace shows that a user Channel Message Exit successfully
    makes a series of MQOPEN, MQPUT, MQGET and MQCLOSE requests for
    a particular channel instance before the problem occurs.  The
    abend occurs when MQ attempts to validate the Hconn value
    provided on the current MQ API call. The Hconn value passed was
    different from the one used on prior successful calls.
    
    Since the earlier API calls, made as part of the same exit
    invocation, had the correct Hconn value, this would suggest
    that the Hconn value was changed in the exit application code
    mid way through its execution.
    
    While the issue of the bad Hconn must be resolved in the user
    exit code, MQ should handle this situation better than it
    currently does. Returning MQRC_HCONN_ERROR 2018 x'000007e2' to
    the user exit would be a more reasonable response if it will not
    cause other unintended consequences.
    

Local fix

  • Correct the user exit so that it will pass the correct Hconn
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 0 Modification 0 and Release 1       *
    *                 Modification 0.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: If an invalid Hconn is supplied to an   *
    *                      MQAPI call in a channel exit, then an   *
    *                      abend will occur in the chinit. This    *
    *                      abend will be one of 5C6-00E70054,      *
    *                      5C6-00E70055 or 5C6-00E70056.           *
    *                                                              *
    *                      Additionally, issuing an MQCONNX call   *
    *                      in a channel exit without setting the   *
    *                      Hconn to MQHC_UNUSABLE_HCONN will cause *
    *                      a 5C6-00E70054 abend in the chinit.     *
    ****************************************************************
    Although this problem ultimately arises from an error in the
    user's channel exit, we should handle an invalid Hconn better.
    When receiving a Hconn from an application, internal checks are
    made to validate the Hconn. If one of these checks fails on a
    Hconn received from a channel exit, then an abend will be issued
    to the chinit. This will in turn bring down the associated
    channel.
    

Problem conclusion

  • The code has been changed to better handle an invalid Hconn.
    This results in an invalid Hconn returning MQRC_HCONN_ERROR to
    the MQAPI call instead of abending.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH21813

  • 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-02-05

  • Closed date

    2020-05-28

  • Last modified date

    2020-09-01

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

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

    010PC2Ÿ UI69752 UI69753

Modules/Macros

  • CSQXADPM
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R000 PSY UI69753

       UP20/08/08 P F008

  • R100 PSY UI69752

       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:
03 September 2020