IBM Support

PH52786: "NOT ENOUGH STORAGE WAS AVAILABLE FOR THE WSA" WITH STRINGSTREAM

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Usage of the C++ stringstream class appears to be leaking memory
    after repeated usage of the operator >>.  When memory is no
    longer available, the following runtime error message is output:
    
    
    CEE3536S Not enough storage was available for the WSA.
             From entry point __cxa_throw at compile unit offset
             +00000000267BA462 at entry offset +00000000000000AA at
             address 00000000267BA462.
    
    
    No user C++ exception usage is present, but the crash occurs in
    the __cxa_throw function after an internal call to new() via the
    system locale functions:
    
    
    10    CELQ6TLC    +000000B6              CELQLIB
    11    __cxa_throw +000000AA              CRTEQCXA
    12    _Znwm       +000000CA              CRTEQCXA
    13    _ZNSt5__1_e9uselocaleEPNS_13locale_structE
                      +0000024C              CRTEQCXE
    14    _ZNKSt5__1_e7num_getIcNS_19istreambuf_iteratorIcNS_
          11char_tr   +00000864              CRTEQCXE
    15    _ZNKSt5__1_e7num_getIcNS_19istreambuf_iteratorIcNS_
          11char_tr   +0000003A              CRTEQCXE
    16    _ZNSt5__1_e13basic_istreamIcNS_11char_traitsIcEEErsERm
                      +000000CA              CRTEQCXE
    17    _Z9parseTimeRNSt5__1_e12basic_stringIcNS_11char_traits
          IcEENS      +0000007C              a.out
    18    main        +00000066              a.out
    
    
    The issue will occur sooner if the 'ulimit -M' memory above bar
    limit is set low, or if there are a large number of calls to
    stringstream's operator >>.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: IBM Open XL C/C++ 1.1 users using code that  *
    *                 involves locales                             *
    ****************************************************************
    * PROBLEM DESCRIPTION: Applications using locales may run out  *
    *                      of memory                               *
    ****************************************************************
    * RECOMMENDATION: Install the PTF.                             *
    ****************************************************************
    Code that involves locales can leak memory. As a result, over
    time memory will be consumed. When the memory limit is reached
    the program will be killed. This PTF fixes the memory leak.
    

Problem conclusion

  • IBM is releasing a cumulative update to IBM Open XL C/C++ 1.1
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH52786

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    7C2

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-02-22

  • Closed date

    2023-08-25

  • Last modified date

    2023-11-01

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

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

Modules/Macros

  • CNWPHPAX CNWSNPAX
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R7C2 PSY UI93306

       UP23/10/03 P F310

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSTLTF","label":"z\/OS XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7C2","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
01 November 2023