A fix is available
APAR status
Closed as program error.
Error description
ABENDU0847 return code C2C83012 was issued from module DFSDBH30 during dynamic backout processing. This abend was added by a prior apar to prevent a loop in DFSDBH30 at label PGSL7700 due to an invalid unsorted purgeable buffer ( IBF ) chain. . The following execution sequence produces the U0847 C2C83012: . 1) Several partitions were performing concurrent REPL calls against a HALDB database in the midst of frequent pseudo- abends caused by U3303 (partition unavailable) and U4087 (appl) abends. 2) The pseudoabends caused Dynamic Backout to run for each region to back out the updates made by the REPL calls 3) DFSDLR00 called DFSPSEL0 to VERIFY PARTITIONED DATABASE ACCESS and SELECT a SPECIFIC PARTITION BASED UPON the KEY. 4) Routine DFSPSEL1 called DFSDBAU0 via PSAUTH to AUTHORIZE/ CHECK the PARTITION. 5) The Syslog revealed a "FOI110I /STO DB GDDCDAF LOCAL" command had been issued in the middle of the REPL calls which made the partition UNAVAILABLE and returned STATUSBA 6) "FA EXIT FOR IMS U4087 ABENDS INVOKED" was also found in the Syslog, which triggered a pseudoabend of IMS REGION 6) DDIRNOSC (STOPPED DUE TO PREVIOUS ERR) was set ON and caused authorization to fail with a RC12 (x'0C'). 7) Execution returned to DFSPSEL0 which changed RC12 to RC8 for the AUTH FAILURE and set R0 to x'4020' and R2 to RC4. 8) Since authorization failed for partition GDDCDAF, DSGAMPA was updated in the DSG, but DSGDMBNO was left unchanged. 9) Dynamic Backout got control to back out updates made by the REPL calls prior to the partition becoming UNAVAILABLE 10) Logic in routine LOCDSG in backout module DFSRDBC0 verified the AMP in DSGAMPA matched the partition in the log record to be backed out. However, the DMB number in DSGDMBNO was not verified and was passed to DFSDBH10 for the Buffer Purge (x'E5')call to write the altered buffer. 11) At this point, DFSDBH10 calls STEALBFR with the invalid DSGDMBNO and the HASH routine creates a duplicate buffer prefix, with different DMB numbers, but the same block, UCBAD, and CCHHR values. The U0847 C2C83012 is issued. The fix in this APAR will resolve both the original LOOP as well as the U0847 C2C83012 abend that result from two OSAM buffer prefixes containing the same IBFCBLK, IBFUCBAD, and IBFCCHH2, but different IBFCDMB values.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * All IMS V15 QPP Full Function OSAM HALDB Database users. * **************************************************************** * PROBLEM DESCRIPTION: * * ABENDU0847 return code C2C83012 was issued from module * * DFSDBH30 during Dynamic Backout processing. This abend * * was added by a prior apar to prevent a loop in DFSDBH30 at * * label PGSL7700 due to an invalid unsorted purgeable buffer * * ( IBF ) chain. * **************************************************************** * RECOMMENDATION: * * INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** The following execution sequence produces the U0847 C2C83012: 1) Several partitions were performing concurrent REPL calls against a HALDB database in the midst of frequent pseudoabends caused by U3303 (partition unavailable) and U4087 (appl) abends. 2) The pseudoabends caused Dynamic Backout to run for each region to back out the updates made by the REPL calls. 3) DFSDLR00 called DFSPSEL0 to VERIFY PARTITIONED DATABASE ACCESS and SELECT a SPECIFIC PARTITION BASED UPON the KEY. 4) Routine DFSPSEL1 called DFSDBAU0 via PSAUTH to AUTHORIZE/CHECK the PARTITION. 5) The Syslog revealed a "FOI110I /STO DB GDDCDAF LOCAL" command had been issued in the middle of the REPL calls which made the partition UNAVAILABLE and returned STATUSBA. 6) "FA EXIT FOR IMS U4087 ABENDS INVOKED" was also found in the Syslog, which triggered a pseudoabend of IMS REGION. 7) DDIRNOSC (STOPPED DUE TO PREVIOUS ERR) was set ON and caused authorization to fail with a RC12 (x'0C'). 8) Execution returned to DFSPSEL0 which changed RC12 to RC8 for the AUTH FAILURE and set R0 to x'4020' and R2 to RC4. 9) Since authorization failed for partition GDDCDAF, DSGAMPA was updated in the DSG, but DSGDMBNO was left unchanged. 10) Dynamic Backout got control to back out updates made by the REPL calls prior to the partition becoming UNAVAILABLE. 11) Logic in routine LOCDSG in backout module DFSRDBC0 verified the AMP in DSGAMPA matched the partition in the log record to be backed out. However, the DMB number in DSGDMBNO was not verified and was passed to DFSDBH10 for the Buffer Purge (x'E5')call to write the altered buffer. 12) At this point, DFSDBH10 calls STEALBFR with the invalid DSGDMBNO and the HASH routine creates a duplicate buffer prefix, with different DMB numbers, but the same block, UCBAD, and CCHHR values. The U0847 C2C83012 is issued. The fix in this APAR will resolve both the original LOOP as well as the U0847 C2C83012 abend that result from two OSAM buffer prefixes containing the same IBFCBLK, IBFUCBAD, and IBFCCHH2, but different IBFCDMB values.
Problem conclusion
Code has been modified / added in the following modules to correct the reported problems: DFSPSEL0 Code has been inserted after label PS1E300 to add the partition DMB number, ID, and REORG number to the partition DSG. DSGLROOT is cleared and DSGSETLR is reset to match the DSG settings for similar authorization errors at labels PS2E300 and PS3E300. DFSRDBC0 Code has been inserted after label LOCDSG1 to add an additional check to verify if the partition DSGDMBNO matches DDIRNUMB. If they match, the JCBDSG will be used. If they don't match, a branch is taken to BUILDDSG to build a temporary DSG for DYN BKO to use.
Temporary fix
Comments
APAR Information
APAR number
PI74703
Reported component name
IMS V15
Reported component ID
5635A0600
Reported release
500
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-01-10
Closed date
2017-03-16
Last modified date
2017-10-06
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI45622
Modules/Macros
DFSPSEL0 DFSRDBC0
Fix information
Fixed component name
IMS V15
Fixed component ID
5635A0600
Applicable component levels
R500 PSY UI45622
UP17/03/25 P F703
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":"SSEPH2","label":"IMS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"15","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
22 December 2023