A fix is available
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