IBM Support

IC67064: READ_RECORD DELETED ROWID ASSERTION FAILURE IS POSSIBLE WHEN 1 U SER IS TRYING TO DO A ISFIRST BTPOSITION LOOKUP AND A 2ND USER I

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • The test case for this defect currently depends on the existence
    of idsdb203632 which is due to the fact that the chkparent call
    does a sqisread call with a mode of ISFIRST.
    
    The issue appears to be that in btposition if the very 1st item
    in an index gets deleted and the positioning user waits for the
    lock (and the delete is committed), when a user is attempting to
    do the sqisread with the mode of ISFIRST, btposition doesn't
    seem to correctly detect that the slot has been deleted (after
    being woken up when the lock is released) and lets the
    read_record() call attempt to read the row, which results in the
    read_record assertion failure.
    
    If the very 1st item in the index has already been deleted and
    we don't need to wait on the lock, we correctly see the slot as
    deleted and get into a btnext() call.  In this case, if we have
    to wait for a lock for the next lowest item, we will correctly
    tell that the slot was deleted when we are woken up on the lock,
    and do another btnext to get to the next non-deleted item.
    
    Only in the case where we need to position to the very 1st entry
    in the index, in slot 1, do we seem to fail to detect the item
    was deleted out from under us after we wait for the lock.
    
    The stack for the test case looks like the following:
    afstack()
    afhandler()
    affail_interface()
    read_record()
    gather_records()
    rsread()
    fmread()
    chkparent()
    chkrowcons()
    addone()
    insone_next()
    doinsert()
    excommand()
    sq_execute()
    sqmain()
    listen_verify()
    spawn_thread()
    startup()
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users                                                    *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * An assertion will be seen.                                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to 11.50.xc7 and above.                              *
    ****************************************************************
    

Problem conclusion

  • Problem first fixed in 11.50.xc7.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC67064

  • Reported component name

    IBM IDS ENTRP E

  • Reported component ID

    5724L2304

  • Reported release

    B15

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-03-10

  • Closed date

    2010-11-15

  • Last modified date

    2010-11-15

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

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

Fix information

  • Fixed component name

    IBM IDS ENTRP E

  • Fixed component ID

    5724L2304

Applicable component levels

  • RB15 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B15","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
15 November 2010