IBM Support

PH65174: IMS ABENDU4038 IN COBOL-JAVA MIX AFTER ACTIVATING XXNOSUBALLOC32BITMEM

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • AbendU4038 and CEE0802C Heap storage control information was
    damaged.
    After several tests it looks like it is not an issue of
    nosuballoc32bitmem but rather an issue of
    the filesize of //DD STDENV in IMS-Processing DFSJVM36.
    A one byte overlay occurs because IMS is moving too much
    data into the buffer allocated for the options string.
    Additional symptoms -
    abendU4087 CEE0802C on JVM startup in DFSJVM36
    

Local fix

  • Shorten the input string.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users of IMS v15 with application programs running in a  *
    * Java environment                                             *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * While processing a JVM request, a storage overlay may occur, *
    * resulting in heap damage.                                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * INSTALL CORRECTIVE SERVICE FOR APAR/PTF                      *
    ****************************************************************
    In the C programming language, a null character is placed at the
    end of a String to denote the end of the string.  The strlen
    function returns the length of a string, not including this null
    character.  The strcpy function copies a string, including the
    null character, so that  the result of a copy is a valid string.
    Therefore, when using strlen to determine how much storage must
    be allocated to contain a string, it is necessary to add one
    additional byte to account for the null character.  In multiple
    places within the JVM processing modules, this was not done,
    resulting in a possible one byte storage overlay.
    
    Because malloc rounds the length up to the next multiple of
    eight to ensure doubleword alignment, the overlay is not
    guaranteed to occur.  In particular, the precise length of the
    Java options string can determine whether or not this issue
    appears.
    
    External symptom:  ABENDU4038.  It is possible for other
    symptoms to appear instead of this one, depending on the precise
    location of the overlaid storage.
    

Problem conclusion

  • In modules DFSJVM00, DFSJVM36, and DFSJVM64, all occurrences of
    malloc that allocate insufficient storage are corrected to
    ensure that the correct amount of storage is allocated.  These
    occurrences include:
    1.  When allocating storage to hold the  JZOS_OUTPUT_ENCODING
    environment variable setting
    2.  In the Trim subroutine, which trims leading and trailing
    spaces
    3.  When allocating storage to hold the -Xoptionsfile setting
    
    Debug statements are added which will print a message in the
    application program job output indicating whether or not a
    storage overlay is detected.  These messages are only displayed
    if DEBUG=Y is specified, except in the case of the CreateJVM
    function, for which debug statements are printed whether or not
    DEBUG=Y is specified.
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

APAR Information

  • APAR number

    PH65174

  • Reported component name

    IMS V15

  • Reported component ID

    5635A0600

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-02-10

  • Closed date

    2025-06-05

  • Last modified date

    2025-07-02

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

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

    UO03516

Modules/Macros

  • DFSJVM00 DFSJVM36 DFSJVM64
    

Fix information

  • Fixed component name

    IMS V15

  • Fixed component ID

    5635A0600

Applicable component levels

  • R500 PSY UO03516

       UP25/06/07 P F506 ¢

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":"BU048","label":"IBM Software"},"Product":{"code":"SSEPH2","label":"IMS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"15","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
02 July 2025