IBM Support

IC77947: MEMORY CORRUPTION MESSAGE "SQLODIAGNOSEFREEBLOCKFAILURE" IN DB2DIAG.LOG when executing load command

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Memory corruption message in db2diag.log, application fails,
    Instance services
    
    db2diag.log entries:-
    ----------------------
    2011-04-20-09.02.15.137242+060 I24164020A1473     LEVEL: Severe
    
    PID     : 737418               TID  : 1           PROC : db2bp
    
    INSTANCE: pi3snap              NODE : 000
    
    APPID   : *LOCAL.pi3snap.110419110035
    
    EDUID   : 1
    
    FUNCTION: DB2 UDB, SQO Memory Management,
    sqloDiagnoseFreeBlockFailure,
    probe:10
    
    MESSAGE : Possible memory corruption detected.
    
    DATA #1 : ZRC, PD_TYPE_ZRC, 4 bytes
    
    0x820F0002
    
    DATA #2 : Corrupt block address, PD_TYPE_CORRUPT_BLK_PTR, 8
    bytes
    0x000000011014d500
    
    DATA #3 : Block header, PD_TYPE_BLK_HEADER, 24 bytes
    
    0x000000011014D4E8 : 0000 0000 0000 0000 0000 0000 0000 0000
    
    ................
    
    0x000000011014D4F8 : 0000 0000 0000 0000
    ........
    DATA #4 : Data header, PD_TYPE_BLK_DATA_HEAD, 48 bytes
    
    0x000000011014D500 : 0000 0000 0000 0000 0000 0000 0000 0000
    
    ................
    
    0x000000011014D510 : 0000 0000 0000 0000 0000 0000 0000 0000
    
    ................
    
    0x000000011014D520 : 0000 0000 0000 0000 0000 0000 0000 0000
    
    ................
    
    CALLSTCK:
    
      [0] 0x09000000033A2084 pdLog + 0x88
    
      [1] 0x0900000002F10018
    @28@sqloDiagnoseFreeBlockFailure__FP8SMemFBlk
    + 0x15C
    
      [2] 0x09000000030CE274 sqlofmblkEx + 0x568
    
      [3] 0x0900000002ED4054 clpPostLoadFreeDynMem + 0xA0
    
      [4] 0x000000010003B858 clpbp_exe_sqluload__Fv + 0x138
    
      [5] 0x0000000100001658 clp_bp_con__Fv + 0x638
    
      [6] 0x0000000100000A84 main + 0x204
    
      [7] 0x0000000100000320 __start + 0x98
    
      [8] 0x0000000000000000 ?unknown + 0x0
    
      [9] 0x0000000000000000 ?unknown + 0x0
    ---------------------------------------------------------------
    The issue happened because once the memory was allocated
    successfully and also de-allocated by OSS, then clp tried
    freeing the same memory. CLP did not actually allocate the
    memory block.
    
    Traces are confirming it:
    1511461     | | | sqlage_prepare_sqlca exit
    1511464     | | clp_prep_sqlca exit
    1511475     | | clpgendb2loadstruct entry
    1511481     | | clpgendb2loadstruct exit
    1511487     | | clp_send_cmdcb entry
    
    The memory that clp tried freeing was allocated by OSS while it
    was writing to the queue and OSS freed it after the write was
    successful.
    
    Free:
    1512220     | | | | | sqlowqueInternal entry
    1512241     | | | | | sqlowqueInternal exit
    1512243     | | | | | sqlofmblkEx entry
    1512250     | | | | | sqlofmblkEx mbt
    [Marker:PD_OSS_FREED_MEMORY ]
    1512264     | | | | | sqlofmblkEx exit
    1512269     | | | | sqlowque exit
    1512278     | | | clp_wque
    
    
    1512243 entry DB2 UDB SQO Memory Management sqlofmblkEx cei
    (1.3.129.33.2)
            pid 1970186 tid 1 cpid 37690 node 0 sec 0 nsec 343426849
    
            bytes 50
    
            Data1   (PD_TYPE_PTR,8) Pointer:
            0x00000001103d2080
            Data2   (PD_TYPE_OSS_MEM_FILE_NAME,10) File name:
            sqloqaix.C
            Data3   (PD_TYPE_OSS_MEM_LINE_NUM,8) Line of code:
            2147
    
    1512250 mbt DB2 UDB SQO Memory Management sqlofmblkEx cei
    (6.3.129.33.2.32770)
            pid 1970186 tid 1 cpid 37690 node 0 sec 0 nsec 343427962
    
            Marker:PD_OSS_FREED_MEMORY
            Description: Freeing memory
            bytes 16
    
            Data1   (PD_TYPE_PTR,8) Pointer:
            0x00000001103d2080
    
    1512264 exit DB2 UDB SQO Memory Management sqlofmblkEx cei
    (2.3.129.33.2)
            pid 1970186 tid 1 cpid 37690 node 0 sec 0 nsec 343428923
            rc = 0
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * ALL DB2 USERS                                                *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Memory corruption message "sqloDiagnoseFreeBlockFailure" in  *
    * db2diag.log                                                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * The customer need to upgrade to db2_v97fp6  or higher        *
    * versions to resolve the problem.                             *
    ****************************************************************
    

Problem conclusion

  • Users won't see the Memory corruption message
    "sqloDiagnoseFreeBlockFailure" in db2diag.log after applying the
    Fixpack db2_v97fp6 or higher versions.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC77947

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-08-04

  • Closed date

    2012-06-08

  • Last modified date

    2012-06-08

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

    IV02386

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

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R970 PSN

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC77947

Modified date: 08 June 2012