PJ40702: CORRECTING APAR TO PJ40550

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

  • See Problem Summary.
    

Local fix

  • na
    

Problem summary

  • APAR NUMBER:  PJ40702
    PRODUCT:  z/TPF
    FUNCTIONAL AREA:  DATA BASE REORGANIZATION
    SHIPPED IN PUT:  10
    
    ABSTRACT:
    Provide nondisruptive online database reorganization (ODBR)
    end-of-session support in a loosely coupled complex.
    Nondisruptive ODBR end-of-session support in a non-loosely
    coupled complex was provided by PJ40550.
    
    PACKAGE CONTENTS:
    Source Segments:
    (C) base/cp/cefh.cpy
    (C) base/cp/cidp.cpy
    (C) base/cp/cjie.cpy
    (C) base/cp/cjim.cpy
    (C) base/cp/cjiv.cpy
    (C) base/cp/ct38.cpy
    (C) base/cp/cvf3.cpy
    (C) base/include/tpf/c_idsfct.h
    (C) base/include/tpf/c_miob.h
    (C) base/include/tpf/c_vfac.h
    (C) base/include/tpf/i_mlsb.h
    (C) base/include/tpf/i_odbr.h
    (C) base/include/tpf/i_odbrmsg.h
    (C) base/macro/dctmio.mac
    (C) base/macro/ifct.mac
    (C) base/macro/imlsb.mac
    (C) base/macro/vf0ac.mac
    (C) base/rt/cvbv.c
    (C) base/rt/odbrAccept.c
    (C) base/rt/odbrBuildMLSB.cpp
    (C) base/rt/odbrCkSkipLock.asm
    (C) base/rt/odbrMessages.cpp
    (C) base/rt/odbrMLSB_utils.cpp
    (C) base/rt/odbrStart.c
    (C) base/rt/odbrUpdateAsync.asm
    (C) base/rt/odbrUpdateVFA.asm
    (C) base/rt/zfctbheap.c
    (C) base/rt/zfctbload.c
    (C) base/rt/zfctbmem.c
    (C) hpo/rt/clme.asm
    (C) hpo/rt/clmh.asm
    (C) hpo/rt/dbry.asm
    (C) hpo/rt/odbrPurgeLocks.cpp
    
    Object Only Binaries:
    None.
    
    Configuration Independent Binaries:
    (C) base/lib/libCVBV.so
    (C) base/lib/libDBR1.so
    (C) base/lib/libDBRE.so
    (C) base/load/CVBV.so
    (C) base/load/DBR1.so
    (C) base/load/DBRE.so
    (C) base/obj/cvbv.o
    (C) base/obj/odbrAccept.o
    (C) base/obj/odbrBuildMLSB.o
    (C) base/obj/odbrCkSkipLock.o
    (C) base/obj/odbrMessages.o
    (C) base/obj/odbrMLSB_utils.o
    (C) base/obj/odbrStart.o
    (C) base/obj/odbrUpdateVFA.o
    (C) hpo/load/CLME.so
    (C) hpo/load/CLMH.so
    (C) hpo/load/DBRP.so
    (C) hpo/load/DBRY.so
    (C) hpo/obj/clme.o
    (C) hpo/obj/clmh.o
    (C) hpo/obj/dbry.o
    (C) hpo/obj/odbrPurgeLocks.o
    (C) base/lib/libDBRS.so
    (C) base/lib/libDBRT.so
    (C) base/load/DBRS.so
    (C) base/load/DBRT.so
    (C) base/obj/dbrs.o
    (C) base/obj/odbrUpdateAsync.o
    (C) base/obj/odbrUpdateMFST.o
    (C) hpo/obj/odbrPurgeModule.o
    (C) base/obj/dbrt.o
    
    Support Files:
    base/lst/cvbv.lst
    base/lst/CVBV.map
    base/lst/dbrs.lst
    base/lst/dbrt.lst
    base/lst/DBR1.map
    base/lst/DBRE.map
    base/lst/DBRS.map
    base/lst/DBRT.map
    base/lst/odbrAccept.lst
    base/lst/odbrBuildMLSB.lst
    base/lst/odbrCkSkipLock.lst
    base/lst/odbrMessages.lst
    base/lst/odbrMLSB_utils.lst
    base/lst/odbrStart.lst
    base/lst/odbrUpdateAsync.lst
    base/lst/odbrUpdateMFST.lst
    base/lst/odbrUpdateVFA.lst
    hpo/lst/clme.lst
    hpo/lst/clmh.lst
    hpo/lst/CLME.map
    hpo/lst/CLMH.map
    hpo/lst/dbry.lst
    hpo/lst/DBRP.map
    hpo/lst/DBRY.map
    hpo/lst/odbrPurgeLocks.lst
    hpo/lst/odbrPurgeModule.lst
    
    OTHER BINARIES TO BUILD: YES
    (C) <sys>/lib/libCFTQ.so
    (C) <sys>/load/CFTL.so
    (C) <sys>/load/CFTQ.so
    (C) <sys>/load/CPS0.so
    (C) <sys>/obj/cccpse.o
    (C) <sys>/obj/ccctin.o
    (C) <sys>/obj/ccrcsc.o
    (C) <sys>/obj/ccsona.o
    (C) <sys>/obj/ccsons.o
    (C) <sys>/obj/ccvfac.o
    (C) <sys>/obj/zfctbheap.o
    (C) <sys>/obj/zfctbload.o
    (C) <sys>/obj/zfctbmem.o
    (C) os390/bin/amx1.pds
    (C) os390/bin/ppcp.pds
    (C) os390/bin/stc.pds
    (C) os390/obj/amx1.o
    (C) os390/obj/ccmcdc.o
    (C) os390/obj/stcc.o
    
    COMMENTS:
    1) The ODBR accept process provided by PJ39198 requires one
    active processor in the complex, all multiple database facility
    (MDBF) subsystems to be in 1052 state and an automatic IPL to
    complete the ODBR and replace the existing base FACE table
    (FCTB) with the alternate FCTB. Also,
    PJ40550 inhibited the ability to ZODBR ACCEPT in a system
    generated for a shared data processing system (SDPS).
    
    In addition, the following problems were discovered while
    working on this support.
    
    2) Due to PJ40550, a CTL-290 system error (SIPC length not
    valid) occurs when mounting a general data set (GDS).
    
    3) A CTL-704 system error (MPLF logic error) may occur due to
    input/output blocks (IOBs) on a module queue getting out of
    order. A virtual file access (VFA) buffer control area (BCA)
    was flushed from VFA to make room for a new item and the VFA
    lock was released. A new BCA was then allocated for the same
    record and a get VFA lock request was created for the lock. The
    IOB for the release of the VFA lock and the IOB for the obtain
    of the VFA lock were on the asynchronous queue in the correct
    order. When the asynchronous queue is redriven an IOB is put on
    the ready list of the I-stream indicated in the IOB and then
    the IOB makes its way to the module queue. Since the I-stream
    ready lists can be of different sizes the IOBs may be put back
    onto the module queue in the incorrect order causing a CTL-704.
    
    4) A CTL-571 system error (attempt to lock a lockword timed
    out) may occur during lock recovery when the asynchronous queue
    is large due to excessive locking on the module file status
    table (MFST).
    
    5) The program name in the record hold table (RHT) entry is not
    updated when a waiter for the record is promoted to the owner
    of the record. This may make problem diagnosis more difficult.
    
    6) The disassembler does not recognize the load logical
    character instructions LLC and LLCR. Also, some RX format
    instructions such as store halfword (STH) may not disassemble
    correctly.
    
    7) Data may be corrupted in VFA following a flush of a record
    from the VFA buffers (FLFAC). When a record is flushed from VFA
    the invalidated BCA is added to the top of the reserve list.
    When the BCA is subsequently reused it may be for the same file
    address. When a DASD I/O operation completes, there is logic to
    determine whether the BCA that was allocated before the DASD
    I/O operation was started is still valid. These checks are not
    sufficient and the completed DASD I/O may be allowed to put
    data into the BCA buffer even though the BCA has been
    invalidated and reused during the time the DASD I/O was in
    progress.
    
    8) Due to PJ31376, an OPR-572 system error (LOCKC- lock held
    already) and an OPR-573 system error (UNLKC- unlock not holding
    lock) may occur during ZODBR ACCEPT, ZODBR DELETE, ZFCTB ACCEPT
    or ZFCTB DELETE processing. When the system heap storage used
    by a FCTB is no longer needed the address of the system heap
    storage is added to a list which is processed when all activity
    ends on the FCTB. The locking protocol for adding and removing
    items from the list is to lock lockword fctblockword. The
    routine that adds the system heap address to the list,
    fctb_del_mem, locks fctblockword and then calls a routine to
    core hold the current system activation number. The routine
    that returns the system heap and removes the system heap
    address from the list, fctb_heap_return, has the current system
    activation number held on input when it is called and then
    locks fctblockword. If routine fctb_del_mem locks fctblockword
    but gives up control while waiting for the hold on the current
    system activation number then routine fctb_heap_return may get
    control and take an OPR-572 when it attempts to lock
    fctblockword.
    

Problem conclusion

  • SOLUTION:
    1) The ODBR accept process has been updated to allow the
    process to take place with the MDBF subsystems in any state and
    multiple processors active in the z/TPF complex. An automatic
    IPL is no longer required to complete the accept process. The
    ability to ZODBR ACCEPT in a system generated for SDPS is now
    available.
    
    The new end-of-move session processing recalculates all record
    related locks (RHT and virtual file access (VFA)) that are
    active at the time of the FCTB replacement and sweeps DASD
    queues and VFA buffers to ensure that new MMCCHHR locations are
    recalculated correctly for all data records on queue or in
    memory.
    
    In addition, the following updates were made.
    
    2) Segment clme.asm has been updated to remove a field
    (WORKRCS) that is not necessary in the SIPC data being passed.
    
    3) Routine CJPSM3S in copy member cjiv.cpy has been updated to
    reschedule IOBs to the ready list of the I-stream that is
    running. This ensures the IOBs are in the correct order on the
    module queue after the asynchronous queue is redriven.
    
    4) Routine CJIVELIE_SCAN in copy member cjiv.cpy has been
    updated to do module comparisons prior to locking the MFST.
    This reduces the number of times the MFST is locked.
    
    5) Copy member cefh.cpy has been updated to ensure the program
    name in the RHT entry is correct when the waiter of a record is
    promoted to the owner of the record.
    
    6) Segment cvbv.c has been updated with information about the
    load logical character instructions LLC and LLCR to ensure they
    are disassembled correctly. Also, a comma is placed before the
    base register to ensure all RX type instructions are
    disassembled correctly.
    
    7) VFA buffer segments vf0ac.mac and c_vfac.h have been updated
    to add an allocation sequence number (BCAASN) to the BCA. IOB
    segments dctmio.mac and c_miob.h have been updated to add an
    area to save the BCA allocation sequence number (MI0BASN).
    Segment cvf3.cpy has been updated to increment the BCA
    allocation sequence number every time that the BCA is used in
    the allocation routine. Also, when an IOB is created and the
    BCA address is saved in the IOB, the BCA allocation sequence
    number is also saved in the IOB. When a DASD I/O completes an
    additional check is done to ensure the allocation sequence
    number in the BCA and the IOB match in order to use the BCA
    that is saved in the IOB. If the allocation sequence numbers
    don't match then the data is not put into the BCA buffer.
    
    8) The locking protocol for the list of FCTB system heap
    addresses to be returned has been changed so only the current
    system activation number needs to be held when adding or
    removing items from the list. Segments zfctbmem.c and
    zfctbheap.c have been updated to no longer lock lockword
    fctblockword. Copy member ct38.cpy has been updated to no
    longer initialize lockword fctblockword. Lockword fctblockword
    has been changed to a spare field in ifct.mac and c_idsfct.h.
    
    COREQS: NO
    None.
    
    MIGRATION CONSIDERATIONS: YES
    Functional, automation, and operation changes:
    New online message:
    ODBR2433T
    
    Obsoleted online message:
    ODBR2346T
    
    Hardware, software, and configuration changes:
    Loosely coupled customers are strongly encouraged to use the
    largest allowable control unit lockspace in their configuration
    at the time ODBR support is utilized.  See the ZBUFC ALLOCATE
    command for more information on updating the control unit
    lockspace.
    
    
    
    BUILD COMMANDS AND INSTRUCTIONS: YES
    #maketpf commands for linux
    maketpf -f CPS0 cccpse.o ccctin.o ccrcsc.o ccsona.o ccsons.o
    ccvfac.o
    maketpf -f CVBV cvbv.o
    maketpf -f CFTL zfctbload.o zfctbmem.o
    maketpf -f CFTQ zfctbheap.o
    maketpf -f DBR1 odbrMessages.o odbrStart.o
    maketpf -f DBRE odbrAccept.o odbrBuildMLSB.o odbrCkSkipLock.o
    odbrMLSB_utils.o odbrUpdateVFA.o odbrUpdateAsync.o
    odbrUpdateMFST.o
    maketpf -f DBRS dbrs.o
    maketpf -f CLME clme.o
    maketpf -f CLMH clmh.o
    maketpf -f DBRY dbry.o
    maketpf -f DBRP odbrPurgeLocks.o odbrPurgeModule.o
    maketpf CPS0 link
    maketpf CVBV link
    maketpf CFTL link TPF_VERIFY_LINK_REFS=NO
    maketpf CFTQ link TPF_VERIFY_LINK_REFS=NO
    maketpf DBR1 link TPF_VERIFY_LINK_REFS=NO
    maketpf DBRE link TPF_VERIFY_LINK_REFS=NO
    maketpf DBRS link
    maketpf -f DBRT TPF_VERIFY_LINK_REFS=NO
    maketpf CLME link
    maketpf CLMH link
    maketpf DBRY link
    maketpf DBRP link
    maketpf CFTL link
    maketpf CFTQ link
    maketpf DBR1 link
    maketpf DBRE link
    maketpf DBRT link
    #maketpf commands for z/OS
    maketpf -f amx1 amx1.o
    maketpf -f ppcp ccmcdc.o
    maketpf -f stc stcc.o
    maketpf amx1 link
    maketpf ppcp link
    maketpf stc link
    
    UPDATED INFORMATION UNITS: YES
    z/TPF Messages (Online, SQLCODEs, and errno Values)
    
    See your IBM representative if you need additional information.
    
    DOWNLOAD INSTRUCTIONS:
    http://www.ibm.com/software/htp/tpf/maint/maintztpf.html
    
    APAR URL:
    http://www.ibm.com/software/htp/tpf/ztpfmaint/put10/PJ40702.htm
    

Temporary fix

Comments

APAR Information

  • APAR number

    PJ40702

  • Reported component name

    Z/TPF

  • Reported component ID

    5748T1501

  • Reported release

    110

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-11-01

  • Closed date

    2013-01-17

  • Last modified date

    2013-01-17

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

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

Publications Referenced
SK2T8062        

Fix information

  • Fixed component name

    Z/TPF

  • Fixed component ID

    5748T1501

Applicable component levels

  • R110 PSY

       UP



Rate this page:

(0 users)Average rating

Document information


More support for:

TPF
z/TPF

Software version:

110

Reference #:

PJ40702

Modified date:

2013-01-17

Translate my page

Machine Translation

Content navigation