IBM Support

PM75874: 0C3/AKEA Abend in heap memory management


You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Environment: IBM z/OS
    Product name: IBM? Rational? Business Developer
    Program Version    :  8.5
    Abend in heap memory management due to TUI segmented converse
    logic not refreshing exception record address
    Additional Problem: Invalid call to EZESSM results in ASRA at

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * PROBLEM DESCRIPTION:                                         *
    * RECOMMENDATION:                                              *
    This problem only occurs on segmented converse TUI programs
    that also issue their own "throw" statement in the code. The
    throw statement created a temporary exception record that
    really is not temporary. This record is associated with the
    global program list of variables. When a TUI segmented
    converse occurs, the program variables are saved in the
    environment and restored when the user presses enter. Once
    restored, any heap memory pointers need to be updated to use
    the new memory location that the restore allocates for them.
    The list of these variables is passed to the SSM program
    which then allocates new memory and updates the pointer. The
    problem was that temporary variables were not being added to
    this list, which is normally correct. However temporary
    exception records are really not temporary, so they should
    have been added. Because they were not added, when the SSM
    program restored the program variables, the old pointer
    address was left in place, causing the variable to now be
    pointing to a piece of memory in CICS that was wrong. An
    abend would not necessarily occur at this point, because it
    is possible this memory address is still in CICS. If
    transaction isolation was turned on, the abend would likely
    Later on, when a garbage collection was performed by the
    heap memory manager, this invalid address would be used in
    the calculation of memory to be used. Due to the invalid
    address, a variety of problems could occur, such as a huge
    length being used, or an abend.

Problem conclusion

  • The resolution to this, is on the generator side to include
    the exception record as part of the list of pointers that
    SSM is to fixup.
    There is a fixtest for this problem for both 801x and 85
    systems. This fixtest should be applied and only the program
    that is doing the segmented converse needs to be

Temporary fix


APAR Information

  • APAR number


  • Reported component name


  • Reported component ID


  • Reported release


  • Status


  • PE




  • Special Attention


  • Submitted date


  • Closed date


  • Last modified date


  • 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


  • Fixed component ID


Applicable component levels

  • R850 PSN


Document information

More support for: Rational Business Developer

Software version: 8.5

Reference #: PM75874

Modified date: 27 November 2012

Translate this page: