IBM Support

OA47642: S0F4 RSN=83EE5E0E MSGIEW2900T E913 5E0E2900 DUPLICATE DEFINITIONS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Customer is using the following JCL to link their program
    //IEWLNC   EXEC PGM=IEWL,
    //            PARM=('MAP,XREF,LIST=ALL,DYNAM(DLL),REUS=RENT')
    //SYSPRINT DD SYSOUT=*
    //SYSDEFSD DD SYSOUT=*
    //SYSLIB   DD DISP=SHR,DSN=IMPP.RESLIB
    //IEFLOAD  DD DISP=SHR,DSN=S00COI0.CGN.CEHBPLD1
    //CMNLOAD  DD DISP=SHR,DSN=DCVKR0P.CMNP.PROD.LOD
    //SYSLMOD  DD DISP=SHR,DSN=S00COI0.CGN.LOAD
    //SYSLIN   DD *
       INCLUDE  CMNLOAD(CGNCDYN)
       REPLACE  DFSLI000
       REPLACE  ASMTDLI(CGNCDYN),CBLTDLI(CGNCDYN)
       INCLUDE  IEFLOAD(TIRORUNI)
    //         DD DISP=SHR,DSN=S00COI0.CGN.CEHBSIDE(TIRORUNI)
    //         DD *
       ENTRY    CEESTART
      NAME      TIRORUNI(R)
    
    Using the REPLACE statement as above results in binder abend 0F4
    S0F4 RSN=83EE5E0E along with the Following message
    IEW2900T E913 BINDER ABNORMAL TERMINATION  5E0E2900
    
    In reviewing IEWTRACE, the CHANGE error with ECODE A302A200
    (NCHG_DUPLICATE_NAME) precedes the abend as shown below
    
    00035296   NCHG   A300A002 (12:41:39.172525)
    00035297   NCHG   A302A200 (12:41:39.172527)
                CBLTDLI
                CGNCDYN
    00035298   NCHG   A30FA102 (12:41:39.172527) A302A200  00000008
                0000022D X
    00035299   EREN   5E0E2900 (12:41:39.172528)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: User's of the binder, binding modules which  *
    *                 contain part definitions, attempting to use  *
    *                 a CHANGE or REPLACE control statement to     *
    *                 rename a part definition to another name     *
    *                 when that other name already exists.  Note   *
    *                 that this can unintentionally happen when    *
    *                 changing the name of a label definition      *
    *                 (external entry / function) symbol name,     *
    *                 where there happens to be identically named  *
    *                 binder part definitions.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: The binder is instructed to change the  *
    *                      part defintion name to another name     *
    *                      which already exists.  It then          *
    *                      terminates with a binder abend with     *
    *                      ECODE 5E0E2900, which means that CHANGE *
    *                      processing encountered an error.        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Binder parts definitions are members of a merge class, which
    means that like named symbols are combined as one (using the
    longest length, strictest alignment).  The binder rules which
    disallow duplicates of other types of symbols do not apply.
    
    Ordinarily part definitions are introduced by INCLUDEd modules
    (whether object or program) and this problem is not seen.  This
    problem only surfaces when attempting to change part names using
    CHANGE processing.
    
    The problem can occur when given a binder control statement of
    following form, where both old-name and new-name are label
    definition (external entry / function) symbol names.  Note that
    this could be either CHANGE or REPLACE in this case:
    
      REPLACE old-name(new-name)
    
    There may also be part definition names with the same names as
    these label defintions (this is allowed as binder parts have a
    namespac which is distinct from other symbols).
    
    In this case the binder first deletes the new-name entry (if it
    exists) and then CHANGEs the old-name to the new-name name.
    However delete processing does not remove part definitions
    (because they may have needed text or adcons), and thus during
    the CHANGE processing the duplicate symbol is detected,
    resulting in the binder ABEND.
    
    Once the binder ABEND is eliminated, and the new-name label
    definition already exits, the binder will issue the following
    message.  CHANGE processing is still carried out as requested:
    
     MSGIEW2397W A REQUEST TO CHANGE OR REPLACE LABEL old-name TO
     new-name WAS RECEIVED, AND new-name WAS AN EXISTING LABEL.
    
    This problem can occur anytime the part definition already
    exists.  It need not have been introduced by CHANGE or REPLACE.
    Thus a single CHANGE or REPLACE statement can also expose the
    problem.
    
    This problem may also occur when rebinding a module where the
    binder has generated parts which are DLL descriptors for use
    with Language Environment Dynamic Link Libraries.  These parts
    are given the same names as the function (label definition
    symbol) names to which they refer.  Such descriptors are rebuilt
    by the binder on each bind.  The user need not have explicitly
    defined these binder-built part definition names.
    

Problem conclusion

  • The binder will follow the rules for part definitions during
    CHANGE and REPLACE processing.  These rules allow for multiple
    definitions of a part definition name, because those definitions
    are merged.
    

Temporary fix

Comments

APAR Information

  • APAR number

    OA47642

  • Reported component name

    PROGRAM MANAGEM

  • Reported component ID

    5695PMB01

  • Reported release

    790

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-04-22

  • Closed date

    2015-11-18

  • Last modified date

    2016-01-04

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

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

    UA79830 UA79831

Modules/Macros

  • IEWBNAME
    

Fix information

  • Fixed component name

    PROGRAM MANAGEM

  • Fixed component ID

    5695PMB01

Applicable component levels

  • R7A0 PSY UA79830

       UP15/12/02 P F512

  • R790 PSY UA79831

       UP15/12/02 P F512

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":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"790","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19N","label":"APARs - OS\/390 environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"790","Edition":"","Line of Business":{"code":"","label":""}},{"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":"790","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 January 2016