IBM Support

PK66562: ABEND0C4 IN DFHMQTRU WHEN USING A CSQCAPX CROSSING EXIT AND THE EXIT PROGRAM MAKES MQ API CALLS.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Abend0C4 in DFHMQTRU when using a CSQCAPX crossing exit and
    that exit makes MQ API calls.
       The abend0C4 happens just after the EXEC CICS LINK to
    CSQCAPX returns back to DFHMQTRU.  If trace is active the last
    trace entry prior to the abend0C4 *EXC* trace entry is
    EIP EXIT LINK.   The RET address on that trace entry will be
    at +X'2794' into DFHMQTRU (UK27574).  This is right after the
    call to DFHMQPRH.
       If you have the corresponding EIP ENTRY LINK trace, the RET
    on that will be pointing to +X'2E82' into DFHMQTRU.  This the
    point where DFHMQTRU does the EXEC CICS LINK to CSQCAPX.
       The abend0C4 can occur in different spots.  One spot is
    at +X'26D0' on a 58207024 because Reg7 is bad.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: ALL                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: DFHMQTRU abends when using the API      *
    *                      crossing exit CSQCAPX.                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Customers report abends occurring in the MQ TRUE (DFHMQTRU)
    occurring during the execution of transactions that utilize the
    MQ API.
    
    These abends occur at various points within DFHMQTRU. In all
    cases the use of the API Crossing Exit, CSQCAPX, was evident.
    The problem was shown to be an error in the code, within
    DFHMQTRU, that which handled the calling of the API exit via an
    EXEC CICS LINK.
    
    It is possible for the MQ TRUE to be called recursively should
    the API exit itself make MQ API calls. To protect the contents
    of its working storage the TRUE adjust an address in an MQLOT,
    the new value addressing a "Second Level" working storage area.
    A section at the top of each of these areas is reserved as a
    register savearea. When the link to the API exit completes the
    adjustment is undone and the address in the MQLOT is returned to
    its original value.
    
    The EXEC CICS LINK call requires a savearea and one is provided
    by setting R13 to the adjusted working storage value. However
    this action is incorrect
    
    When the MQ TRUE is re-entered to process an MQ API call issued
    by the API exit the EXEC CICS LINK register save area is
    corrupted. The incoming MQ request requires the TRUE to call MQ
    interface code. This call requires a savearea and one is
    provided again by setting R13 to the address of the current
    working storage. As this is the same location where the EXEC
    CICS LINK registers are stored, they are now overwritten. When
    the EXEC CICS LINK to the API exit completes invalid data is
    restored into the registers, leading to abends at unpredictable
    locations.
    

Problem conclusion

  • The setting up of the savearea address for the EXEC CICS LINK,
    to the API exit has been amended. DFHMQTRU will now use the
    working storage address before the adjustment carried out to
    handle recursive calls.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PK66562

  • Reported component name

    CICSTS V3 Z/OS

  • Reported component ID

    5655M1500

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-05-23

  • Closed date

    2008-06-30

  • Last modified date

    2008-08-01

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

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

    UK37779

Modules/Macros

  •    DFHMQTRU
    

Fix information

  • Fixed component name

    CICSTS V3 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R500 PSY UK37779

       UP08/07/03 P F807

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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 August 2008