IBM Support

PI67250: NON-PARAMETER BLL CELLS ARE NO LONGER INITIALLY NULL

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Under previous compilers, where the BLL cells were in the TGT,
    initialization of the TGT during the compile unit bootstrap
    process coincidentally set the BLL cells to NULL. This was not
    an intended outcome, but some programs came to depend on this
    behavior.
    
    A BLL (Base Locator for Linkage) cell is an implicit usage
    pointer field that supplies the address for a linkage section
    01- or 77-level item which can be set via SET ADDRESS OF
    {linkage-item} statement if the linkage-item is not a parameter,
    or retrieved via an ADDRESS OF {linkage-item} expression.
    
    In compile units using IS RECURSIVE or the THREAD compiler
    option, BLL cells are implicit LOCAL-STORAGE items, otherwise
    implicit WORKING-STORAGE items.
    

Local fix

  • Use a "first time" switch to explicitly SET ADDRESS OF
    {linkage-item} TO NULL for all such uses.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 5.1 compiling and  *
    *                 running programs that assume the address of  *
    *                 LINKAGE SECTION items are initialized to     *
    *                 NULL. (RECURSIVE programs and programs       *
    *                 compiled with THREAD are not affected).      *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect output, different run time    *
    *                      behavior from previous COBOL versions:  *
    *                      The address cells of LINKAGE SECTION    *
    *                      items may contain random data before    *
    *                      addressability of the items is          *
    *                      established, leading to unpredictable   *
    *                      behavior in programs that assume the    *
    *                      address cells of LINKAGE SECTION items  *
    *                      are initialized to NULL.                *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    In pre-V5 versions of the Enterprise COBOL compiler, the
    address cells of LINKAGE SECTION items in non-threaded and
    non-recursive programs were located in the TGT and a side
    effect of this was that they were always effectively
    initialized to NULL. In subsequent versions of the compiler,
    the LINKAGE SECTION address cells are located elsewhere and do
    not inherit this same initialization behavior.
    

Problem conclusion

  • The compiler was updated to ensure that the address of LINKAGE
    SECTION items in non-threaded and non-recursive programs is
    initialized to NULL to match the behavior of pre-V5 versions of
    the compiler.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI67250

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655W3200

  • Reported release

    510

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-09

  • Closed date

    2016-08-19

  • Last modified date

    2016-09-02

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

    PI61993

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

    UI40241 UI40242 UI40243

Modules/Macros

  •    IGYCCICS IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3
    IGYCLVL8 IGYCRWT  IGYDCNTL IGYDGPIC IGYDMETA IGYDPR01 IGYDPR02
    IGYDPR03 IGYDPR04 IGYDPR05 IGYDPR06 IGYDPR07 IGYEADAT IGYECNTL
    IGYEEN$D IGYEEN$R IGYEEN$0 IGYEEN$1 IGYEEN$2 IGYEEN$3 IGYEEN$4
    IGYEEN$5 IGYEEN$8 IGYEJA$D IGYEJA$R IGYEJA$0 IGYEJA$1 IGYEJA$2
    IGYEJA$3 IGYEJA$4 IGYEJA$5 IGYEJA$8 IGYEMSGS IGYEUE$D IGYEUE$R
    IGYEUE$0 IGYEUE$1 IGYEUE$2 IGYEUE$3 IGYEUE$4 IGYEUE$5 IGYEUE$8
    IGYFCNTL IGYFFCB  IGYFFIB  IGYFFIB1 IGYFSRVE IGYGCNTL IGYGGCLC
    IGYGITXT IGYGMETA IGYGPR01 IGYGPR02 IGYGPR03 IGYGPR04 IGYGPR05
    IGYHADAT IGYHCNTL IGYIADAT IGYICNTL IGYKADAT IGYKCNFL IGYKCNTL
    IGYKSTAT IGYLADAT IGYLBASI IGYLCNTL IGYLCOPY IGYLLIBH IGYLLIBO
    IGYLSRVE IGYMCNTL IGYMDIAG IGYMDMAP IGYMXREF IGYNARIT IGYNCNTL
    IGYNCOND IGYNDATA IGYNEROR IGYNEVAL IGYNFUNC IGYNINOU IGYNLINK
    IGYNPRFM IGYNPROC IGYNSORT IGYNSRVE IGYNXML  IGYPACCP IGYPADAT
    IGYPADSB IGYPARTH IGYPASBB IGYPASFF IGYPASII IGYPASSL IGYPCALC
    IGYPCBB  IGYPCCLB IGYPCDD  IGYPCDNL IGYPCFF  IGYPCLAS IGYPCLSI
    IGYPCMPR IGYPCNDX IGYPCNTL IGYPCPTR IGYPCTLS IGYPCXN  IGYPDBUG
    IGYPDECL IGYPDELT IGYPDISP IGYPDVBB IGYPDVDE IGYPDVFF IGYPDVII
    IGYPDVSL IGYPERR  IGYPEVAL IGYPEXPO IGYPEXSL IGYPFALF IGYPFDAT
    IGYPFLIB IGYPFMOR IGYPFMTH IGYPFNUM IGYPFRDM IGYPFSAM IGYPFUNC
    IGYPFUNI IGYPGNT  IGYPGPFM IGYPINIT IGYPINI2 IGYPINSP IGYPINVK
    IGYPIOCM IGYPIPI  IGYPLINK IGYPMAA  IGYPMAAE IGYPMBB  IGYPMBD
    IGYPMDB  IGYPMEE  IGYPMEI  IGYPMERG IGYPMFF  IGYPMFX  IGYPMGX
    IGYPMHX  IGYPMID  IGYPMLND IGYPMNEN IGYPMNNE IGYPMOVE IGYPMQX
    IGYPMTHI IGYPMUNE IGYPMVV  IGYPMVX  IGYPMXF  IGYPMXG  IGYPMXH
    IGYPMXN  IGYPMXQ  IGYPMXV  IGYPMZND IGYPNATC IGYPON   IGYPOPCL
    IGYPREAD IGYPREWR IGYPSBSC IGYPSET  IGYPSORT IGYPSRCH IGYPSRTM
    IGYPSRVE IGYPSTNG IGYPSTOR IGYPSTRT IGYPTEXT IGYPTIBB IGYPTIFF
    IGYPTIII IGYPTIMS IGYPTISL IGYPTMGT IGYPTSMG IGYPUCP  IGYPUNST
    IGYPUSE  IGYPVALU IGYPWRIT IGYPXGF  IGYPXLDD IGYPXPS  IGYQCNRD
    IGYQCNTL IGYQMETA IGYQPR01 IGYQPR02 IGYQPR03 IGYQPR04 IGYQPR05
    IGYQPR06 IGYQPR07 IGYQPR08 IGYQPR09 IGYQPR10 IGYQPR11 IGYQPR12
    IGYQPR13 IGYQPR14 IGYQPR15 IGYRABRT IGYRBECB IGYRCBSU IGYRCNTL
    IGYRNATC IGYRPCER IGYRSRVE IGYSADAT IGYSCBL  IGYSCICS IGYSCNTL
    IGYSERR  IGYSITEM IGYSJAVA IGYSMETA IGYSNATC IGYSPARS IGYSPR01
    IGYSREAD IGYSSQL  IGYSTERM IGYSTPUT IGYTALIA IGYTCICS IGYTCNTL
    IGYTDICT IGYTIMS  IGYTIMS1 IGYTIMS2 IGYTMWTR IGYTPUTE IGYTSMGT
    IGYTSQL  IGYTSQL1 IGYTSQL2 IGYTTMAP IGYTTMGT IGYVCNTL IGYVPIPI
    IGYVSRVE IGYWADSP IGYWCNTL IGYWDBG1 IGYWDBUG IGYWINIT IGYWSYM
    IGYXACCM IGYXADAT IGYXCNTL IGYXPRNT IGYXPRN2 IGYXSORT IGYXVREF
    IGY0CNTL IGY1CNTL IGY1CTXT IGY1ETRC IGY1ETXT IGY1FMAT IGY1FTRC
    IGY1HTRC IGY1ITXT IGY1LTRC IGY1LTXT IGY1MTRC IGY1MTXT IGY1PFLG
    IGY1PTRC IGY1SNAP IGY1STRC IGY1TERR IGY1TFLD IGY1TRCE IGY1TXLN
    IGY1WCOD IGY1WTRC IGY1XBCD IGY1XTRC IGY8RWTU
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655W3200

Applicable component levels

  • R510 PSY UI40241

       UP16/08/25 P F608

  • R511 PSY UI40242

       UP16/08/25 P F608

  • R512 PSY UI40243

       UP16/08/25 P F608

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":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"510","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"510","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 September 2016