IBM Support

PM85341: IMS HANGS WHEN LOGGER BLOCK SEQUENCE NUMBER REACHES X'8NNNNNNN'

A fix is available

Subscribe

You can track all active APARs for this component.

 

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:

    PM85060

  • 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
    

Publications Referenced
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