IBM Support

PM20059: Statistics C API call causes S0C4 abend in application

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Retrieving statistics using the Statistics C API when
    connected to a remote Gateway daemon using the
    openRemoteGatewayConnection() API call causes an S0C4 abend.
    
    The abend occurs in the populateHeader() function.
    
    CEE3204S The system detected a protection exception (System
    Completion Code=0C4). From entry point populateHeader at compile
    unit offset +00000238 at entry offset +00000238 at address
    13C5CB00.
    
    Additional search words:
    abend0c4 abends0c4
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of the CICS Transaction Gateway    *
    *                 Statistics C API                             *
    ****************************************************************
    * PROBLEM DESCRIPTION: When connected to a remote Gateway      *
    *                      daemon using the                        *
    *                      openRemoteGatewayConnection() API       *
    *                      call, calling the getStatsByStatId()    *
    *                      API call resulted in an S0C4 abend in   *
    *                      the application. The abend occurs in    *
    *                      populateHeader().                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The Statistics C API uses the ioctl() system call to set the
    socket to a specific mode of operation after the initial
    connection to the Gateway daemon is established. An incorrect
    parameter was used on this call, resulting in the socket mode
    being incorrect. The subsequent code is designed to work with
    the socket in the expected mode, the socket in the incorrect
    mode results in unexpected behavior. This leads to a recv()
    system call reading data left over from a previous response
    when it expected a new response with specific header data. The
    API attempts to parse the incorrect data as a header, resulting
    in the S0C4 abend.
    

Problem conclusion

  • The Statistics C API has been corrected. The ioctl() system
    call has been changed to use the correct parameter, resulting
    in the correct mode being set for the socket.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM20059

  • Reported component name

    CTG V8 FOR Z/OS

  • Reported component ID

    5655W1000

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2010-08-06

  • Closed date

    2010-09-29

  • Last modified date

    2010-11-02

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

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

    PM22912 PM23494 UK60915

Modules/Macros

  •    CTGGCONC CTGGTOKC CTGRESBC CTGSACOC CTGSOCOC
    CTGSTDIC CTGSTLOC CTGSTPIC CTGSTQUC
    

Fix information

  • Fixed component name

    CTG V8 FOR Z/OS

  • Fixed component ID

    5655W1000

Applicable component levels

  • R800 PSY UK60915

       UP10/10/07 P F010

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":"SSGMJ2","label":"CICS Transaction Gateway"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"8.0","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
08 August 2024