A fix is available
APAR status
Closed as program error.
Error description
IMS HANGS DURING ILOG FUNC=CHKW PROCESSING WHEN OLDS BLOCK SEQUENCE NUMBER EXCEEDS x'8nnnnnnn'. THE CHECK WRITE FUNCTION DOES NOT COMPLETE AND THE ITASK REMAINS IN A WAIT STATE OUT OF MODULE DFSFLLG0 TO DFSISERW.
Local fix
COLD START IMS TO RESET BLOCK SEQUENCE NUMBER BACK TO ZERO.
Problem summary
**************************************************************** * USERS AFFECTED: All IMS V13 users * **************************************************************** * PROBLEM DESCRIPTION: IMS will hang after the log block * * sequence number reaches a hex * * value of 7FFFFFFF. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** Every block of IMS log data ends with: - A fullword block sequence number (BSN) - A doubleword clock value - A doubleword log sequence number The first block of log data written at cold start has BSN 1. Every block written after that has a BSN one greater than the preceeding block. The BSN is unsigned so a value of 80000000 is simply one greater than 7FFFFFFF. An array representing current WADS content is pointed to by LWARCDUA. Each word in the array represents a record in the WADS and contains either the BSN from which the record came or zero if the record contains no useful data. Before writing to the WADS, the array is checked to see if the record that would be overwritten contains data that has not yet been written to the OLDS. If so, WADS write is delayed until the OLDS write completes. The problem occurs once BSN values reach 80000000. An arithmetic instruction was used to compare the BSN to be written to the WADS and the BSN in the array. When the BSN in the array is zero, it caused IMS to delay the WADS write. When this happened while the log latch was held in exclusive mode during a checkpoint, IMS hung because the situation would not be resolved by an existing OLDS write completion nor by other tasks completing the buffer and issuing an OLDS write. It should be noted that the BSN persists across restarts. Without the fix, EMERGENCY restart will hang. FDBR and XRF takeovers are a form of restart and will also hang. Batch backout can be used for in-flight work and then IMS must be cold started.
Problem conclusion
GEN: POSTREQ PM93882 POSTREQ PM96533 POSTREQ PI04990 KEYWORDS: *** END IMS KEYWORDS *** This APAR changes how block sequence number (BSN) comparisons are made. When IMS needs to compare two values, one is subtracted from the other and the compare is based on the sign of the result. A negative result is interpreted as showing the first value is less than the second while a positive value indicates the reverse. This technique gives good results if the values are no farther apart than 7FFFFFFF, regardless of the high order bit of either value. IMS will not support BSN arithmetic outside that span. For situation where IMS needs to determine if a BSN is within is within a range, the latest BSN is incremented by one and the result subtracted from the other two. The test succeeds if the normalized BSN that was to be tested is greater than the normalized older range BSN. This technique is also used with checkwrite tokens. These changes allow IMS to tolerate a block sequence number that wraps back to zero. Message DFS3253I has been removed and IMS will not issue ABEND 616 after the BSN reaches FFFFFFFF. Various modules used fields related to backout in the PST that contained BSNs, PSTDBLF and PSTDBLBK. A zero value in these fields no longer indicates lack of backout data because it may be that the data is in the log block with BSN zero. These checks for zero have been changed to use field PSTDBLOF, the offset in the block of the backout data, which cannot be zero if data exists. Because V13 IMS locates log buffers by modulo arithmetic on the BSN, DFSFLLG0 hung if buffer FFFFFFFF and buffer 00000000 resovled to the same buffer. This was fixed by reordering where DFSFLLG0 padded the prior buffer with a type48 record and where it waited for the assigned buffer to be available. An array of bytes was added to the WADS record use array, pointed to by LWARCDUA. The existing array contains a fullword for each WADS record. Each fullword contains the BSN associated with the data in the record. The new byte array has a byte for each WADS record and the byte is non-zero if the corresponding BSN value is meaningful. When the byte is non-zero, the BSN array must be checked to see if the BSN has been written to the OLDS before the WADS record can be re-used. This allows IMS to determine that a BSN of zero is meaningful. LWARCDUA now points to the byte array which is followed by the BSN array.
Temporary fix
********* * HIPER * *********
Comments
REPINNED RP13/07/26 (ATXT) TO ADD POSTREQ PM93882 INFO. **** PE13/07/26 PTF IN ERROR. SEE APAR PM93882 FOR DESCRIPTION REPINNED RP13/09/17 (ATXT) TO ADD POSTREQ PM96533 INFO. **** PE13/09/17 PTF IN ERROR. SEE APAR PM96533 FOR DESCRIPTION ×**** PE13/09/17 FIX IN ERROR. SEE APAR PM96533 FOR DESCRIPTION REPINNED RP13/10/28 (ATXT) TO ADD POSTREQ PI04990 INFO. **** PE13/10/28 PTF IN ERROR. SEE APAR PI04990 FOR DESCRIPTION ×**** PE13/10/28 FIX IN ERROR. SEE APAR PI04990 FOR DESCRIPTION
APAR Information
APAR number
PM85341
Reported component name
IMS V13
Reported component ID
5635A0400
Reported release
300
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2013-03-21
Closed date
2013-07-10
Last modified date
2013-11-06
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK95732
Modules/Macros
DFSALOG0 DFSDBH30 DFSEF62F DFSEF620 DFSFDLB0 DFSFDLC0 DFSFDLF0 DFSFDLG0 DFSFDLO0 DFSFDLR0 DFSFDLS0 DFSFDLW0 DFSFDLY0 DFSFLLG0 DFSFXC50 DFSPCC30 DFSRBOI0 DFSRDBC0 DFSRDBL0 DFSSYI50 DFSULG10 DFSULG20 LCDSECT
| GC18971210 |
Fix information
Fixed component name
IMS V13
Fixed component ID
5635A0400
Applicable component levels
R300 PSY UK95732
UP13/07/17 P F307 ¢
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"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"300","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
14 December 2020