IBM Support

LI75022: MEMORY LEAK IN APPLICATION HEAP CAUSED BY UDFS OR STORED PROCEDURES WHEN CLIENT AND SERVER HAS DIFFERENT CODE PAGE.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • This memory leak is caused by running UDFs when the following
    two conditions are true:
    
    1) your clientapplication and database server has different
       code pages
    2) the connection concentrator is enabled. DB2 Connection
       concentrator is activated when you set the number of maximum
       logical agents (max_connections) higher than the number of
       coordinating agents (max_coordagents).
    
    You may experience frequent out of application heap error
    messages due to this. The error message may look something
    like this:
    
    SQL0954C  Not enough storage is available in the application
    heap to process the statement.  SQLSTATE=57011
    
    
    Running the following db2pd command will show you a single
    application heap increasing as you repeat the execution of the
    UDF:
    
    
    db2pd -db <dbname> -memblocks appctl top
    
    -------------------------------------------------
    Top memory consumers in AppCtl memory set:
    PoolID     PoolName   TotalSize(Bytes)     %Bytes  TotalCount
    %Count    LOC          File
         1         apph         4923381504      86.45     2562612
    1.68    117     3551095165
         1         apph          486051840       8.53     2531520
    0.17    117     3551095165
    
    -------------------------------------------------
    

Local fix

  • Disabling connection concentrator will prevent the memory leak.
    
    NOTE: DB2 connection concentrator is activated when you set the
    number of maximum logical agents (max_connections) higher than
    the number of coordinating agents (max_coordagents).
    

Problem summary

  • USERS AFFECTED:
    ===============
    Customer using version 9.5 and above on all platforms.
    
    PROBLEM DESCRIPTION:
    ====================
    It user application runs UDFs very frequently under the
    following two conditions, database will experience the memory
    leak in application heap and cause frequent out of memory
    errors:
    .
    1) your clientapplication and database server has different
       code pages
    2) the connection concentrator is enabled. DB2 Connection
       concentrator is activated when you set the number of maximum
       logical agents (max_connections) higher than the number of
       coordinating agents (max_coordagents).
    
    RECOMMENDATION:
    ===============
    Disabling connection concentrator will prevent the memory leak.
    

Problem conclusion

  • Problem is first fixed in version 9.5 Fixpack 6.
    

Temporary fix

  • Disabling connection concentrator will prevent the memory leak.
    

Comments

APAR Information

  • APAR number

    LI75022

  • Reported component name

    DB2 CEE LINUX

  • Reported component ID

    5765F3004

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-11-20

  • Closed date

    2011-03-23

  • Last modified date

    2011-03-23

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

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

    IC64834

Fix information

  • Fixed component name

    DB2 CEE LINUX

  • Fixed component ID

    5765F3004

Applicable component levels

  • R950 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
14 October 2021