IBM Support

PI65191: S0C4 ABENDS IN VARIOUS PLACES IN MODULE IRTMSG, OR MESSAGE TEXT CORRUPTION WHEN USING CHECKPOINT INTERVAL CHECKING (CHKPINT).

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • S0C4 abends in various places in module IRTMSG, or message text
    corruption when using checkpoint interval checking (CHKPINT).
    ABEND0C4 ABENDS0C4 S0C4
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: 1. All users of Program Restart Facility     *
    *                    V2R2.                                     *
    *                                                              *
    *                 2. All users of Program Restart Facility     *
    *                    V2R2 who use checkpoint interval          *
    *                    processing.                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: 1. PRF consists of several components   *
    *                      which run in one of three different     *
    *                      tasks. If two of the tasks attempt to   *
    *                      generate a message simultaneously, the  *
    *                      abend will occur or a corrupted message *
    *                      will be generated.                      *
    *                                                              *
    *                      2. When bypass checkpoint processing    *
    *                      is not selected, PRF never updates the  *
    *                      variable it uses to calculate when the  *
    *                      last checkpoint was taken. Therefore,   *
    *                      when the checkpoint interval is         *
    *                      exceeded, PRF calculates the time the   *
    *                      last checkpoint was taken using the     *
    *                      start time of the job instead of the    *
    *                      time the last checkpoint was taken. If  *
    *                      bypass checkpoint processing is         *
    *                      selected, the variable it uses to       *
    *                      calculate when the last checkpoint was  *
    *                      taken is updated, but the subsequent    *
    *                      interval is calculated incorrectly.     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    1. The PRF message processor was created in a prior release of
    PRF, when PRF was mainly a single task process. While there were
    a small number of situations where PRF executed as a multiple-
    task process, in those situations the main task would always
    wait for the secondary task to complete prior to continuing its
    own execution. This changed with PRF V2.2, where two PRF tasks
    can execute simultaneously. The message processor was not
    updated to take this into account. The message processor uses an
    area in the main PRF control block to store data during message
    generation. If two PRF tasks attempt to generate a message
    simultaneously, each task can over-write the data in this area.
    Depending on the message being generated, this can result in a
    S0C4 abend or a corrupted message.
    
    2. PRF controls checkpoint processing from one of two modules,
    depending on whether or not bypass checkpoint processing has
    been selected. The module that controls checkpoint processing
    when bypass checkpoint processing has been selected updates the
    field PRF uses to determine when the last checkpoint was taken,
    while the module that controls checkpoint processing when bypass
    checkpoint processing has not been selected does not update this
    field. Therefore, when bypass checkpoint processing has not been
    selected, the module tasked with determining if the checkpoint
    interval has been exceeded sees the last checkpoint time as the
    time the job began, and will always generate the IRT090I message
    at the checkpoint interval. Meanwhile, when bypass checkpoint
    processing has been selected, when the checkpoint interval timer
    expires, PRF adds the time between the last checkpoint and the
    current time to the subsequent interval, instead of subtracting
    it, if the checkpoint interval had not been exceeded. This
    causes the subsequent checkpoint interval timer to last longer
    than specified.
    

Problem conclusion

  • 1. The PRF message generation function has been modified to
    take into account the fact that it is operating in a multi-
    tasking environment.
    
    2. PRF has been modified so that the field used to determine
    when the last checkpoint call was made is updated correctly, and
    the calculation used to determine the subsequent checkpoint
    interval timer has been corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI65191

  • Reported component name

    IMS PGM RESTART

  • Reported component ID

    5655E1400

  • Reported release

    220

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-06-30

  • Closed date

    2016-08-11

  • Last modified date

    2018-05-10

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

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

    UI40034

Modules/Macros

  •    IRTABI09 IRTABI10 IRTABI11 IRTABI12 IRTABI13
    IRTABI14 IRTAZPS0 IRTA63P0 IRTBBDS0 IRTBBM00 IRTBKOC0 IRTBKOI0
    IRTDBBD0 IRTDBQ09 IRTDBQ10 IRTDBQ11 IRTDBQ12 IRTDBQ13 IRTDBQ14
    IRTDDUN0 IRTDLHK0 IRTDSL20 IRTEDSN0 IRTEMSK0 IRTFCMD0 IRTFLX10
    IRTFLX11 IRTFLX12 IRTFLX13 IRTFLX14 IRTFLX90 IRTFSC09 IRTFSC10
    IRTFSC11 IRTFSC12 IRTFSC13 IRTFSC14 IRTFSC40 IRTFXSR0 IRTFXSR1
    IRTGQSC0 IRTHKIB  IRTIBBD0 IRTIXT09 IRTIXT10 IRTIXT11 IRTIXT12
    IRTIXT13 IRTIXT14 IRTLCA09 IRTLCA10 IRTLCA11 IRTLCA12 IRTLCA13
    IRTLCA14 IRTLDYA0 IRTLFE09 IRTLFE10 IRTLFE11 IRTLFE12 IRTLFE13
    IRTLFE14 IRTMSG   IRTOPTA  IRTPRE00 IRTPRE10 IRTRCC00 IRTRFE09
    IRTRFE10 IRTRFE11 IRTRFE12 IRTRFE13 IRTRFE14 IRTRRC00 IRTRSYM0
    IRTTSVA0 IRTUBYP0 IRTUFLX0 IRTUPXI0 IRTUPXO0 IRTUPX00 IRTXBBO0
    IRTXLTR0 IRTXRI09 IRTXRI10 IRTXRI11 IRTXRI12 IRTXRI13 IRTXRI14
    IRTXSC09 IRTXSC10 IRTXSC11 IRTXSC12 IRTXSC13 IRTXSC14 IRTXUPXA
    

Fix information

  • Fixed component name

    IMS PGM RESTART

  • Fixed component ID

    5655E1400

Applicable component levels

  • R220 PSY UI40034

       UP16/08/16 P F608

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"220","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSAVHR","label":"IMS Program Restart Facility for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"220","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
24 January 2022