DB2 - Problem description
Problem IC75890 | Status: Closed |
DB2 CRASH DUE TO DOUBLE FREE THE CONTROL BLOCKS MEMORY FOR USING CURSOR VARIABLE IN STORE PROCEDURE | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
DB2 crash due to double free the control blocks memory for using cursor variable in store procedure, it will cause trap in freeing a memory that has been freed. From db2diag.log: 2011-03-04-18.21.03.295925+540 E1854405A1439 LEVEL: Severe PID : 22020406 TID : 42150 PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : PDDB APPHDL : 0-262 APPID: 10.115.30.21.58560.110304071545 AUTHID : PDDBAUTH EDUID : 42150 EDUNAME: db2agent (PDDB) 0 FUNCTION: DB2 UDB, SQO Memory Management, sqloDiagnoseFreeBlockFailure, probe:999 MESSAGE : Memory validation failure, diagnostic file dumped. DATA #1 : String, 28 bytes Corrupt pool free tree node. DATA #2 : File name, 34 bytes 22020406.42150.mem_diagnostics.txt CALLSTCK: [0] 0x0900000008CED384 pdLog + 0xC0 [1] 0x09000000055D0ED0 diagnoseMemoryCorruptionAndCrash__13SQLO_MEM_POOLFUlCPCc + 0x270 [2] 0x09000000055D0B88 diagnoseMemoryCorruptionAndCrash__13SQLO_MEM_POOLFUlCPCc@glue7ED + 0x78 [3] 0x09000000098FF60C .MemTreePut.fdpr.clone.156__13SQLO_MEM_POOLFP8SMemNodeUlP17SqloC hunkSubgroup + 0xAC [4] 0x0900000008C123D0 sqlofmblkEx + 0x270 [5] 0x09000000056EB024 csmFreeCursorChain__FP14db2UCinterface + 0x148 [6] 0x0900000005F7A328 sqleUCtrustedLvlTerm__FP15sql_static_dataP8sqlrr_cbP18sqleUCtrus tedStackP10sqlri_ufob + 0x104 [7] 0x0900000008B30F3C sqlri_close_udf_ufob_cleanup__FP10sqlri_ufobP5sqlcaP8sqlrr_cb + 0x300 [8] 0x0900000008B30B2C sqlri_close_udf_eos__FP25sqlra_sql_context_siblingiP8sqlrr_cb + 0x124 [9] 0x0900000008B5038C sqlricls_simple__FP8sqlrr_cbil + 0x60C 2011-03-04-18.21.03.508546+540 I1855845A520 LEVEL: Warning PID : 22020406 TID : 42150 PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : PDDB APPHDL : 0-262 APPID: 10.115.30.21.58560.110304071545 AUTHID : PDDBAUTH EDUID : 42150 EDUNAME: db2agent (PDDB) 0 FUNCTION: DB2 UDB, RAS/PD component, pdEDUIsInDB2KernelOperation, probe:600 DATA #1 : String, 44 bytes sqloCrashOnCriticalMemoryValidationFailure DATA #2 : String, 4 bytes sqlo The Stack is like this: 0x09000000055D2BF8 sqloCrashOnCriticalMemoryValidationFailure+ 0x30 0x09000000055D0ED8 diagnoseMemoryCorruptionAndCrash+ 0x278 0x09000000055D0B88 diagnoseMemoryCorruptionAndCrash@glue7ED + 0x78 0x09000000098FF60C .MemTreePut.fdpr.clone.SqloChunkSubgroup + 0xAC 0x0900000008C123D0 sqlofmblkEx + 0x270 0x0900000008C13678 sqlddFreeDD__FPP14dataDescriptor + 0x38 0x09000000068E7548 csmFreeDD__FP9db2UC_CCBPP14dataDescriptor + 0xB4 0x090000000536FA74 csmFreeCCB__FP14db2UCinterfaceP9db2UC_CCB + 0xE4 0x09000000066D9324 csmClose__FP14db2UCinterfaceUl + 0x68 0x09000000066D887C closeCursor__10pvmPackageFP14db2UCinterfaceCUi + 0x1E0 0x09000000066D4C60 executeSection__10pvmPackageFP5sqlcaUib + 0x2F4 0x09000000066BDBF8 executeQuery__3PVMFUib + 0x1A4 0x09000000066C2D68 closeCursorVariable__3PVMFUiT1b + 0x1B4 | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * DB2 crash due to double free the control blocks memory for * * using * * cursor variable in store procedure, it will cause trap in * * freeing a memory that has been freed. * * * * From db2diag.log: * * 2011-03-04-18.21.03.295925+540 E1854405A1439 LEVEL: * * Severe * * PID : 22020406 TID : 42150 PROC : * * db2sysc * * 0 * * INSTANCE: db2inst1 NODE : 000 DB : PDDB * * APPHDL : 0-262 APPID: * * 10.115.30.21.58560.110304071545 * * AUTHID : PDDBAUTH * * EDUID : 42150 EDUNAME: db2agent (PDDB) 0 * * FUNCTION: DB2 UDB, SQO Memory Management, * * sqloDiagnoseFreeBlockFailure, probe:999 * * MESSAGE : Memory validation failure, diagnostic file dumped. * * DATA #1 : String, 28 bytes * * Corrupt pool free tree node. * * DATA #2 : File name, 34 bytes * * 22020406.42150.mem_diagnostics.txt * * CALLSTCK: * * [0] 0x0900000008CED384 pdLog + 0xC0 * * [1] 0x09000000055D0ED0 * * diagnoseMemoryCorruptionAndCrash__13SQLO_MEM_POOLFUlCPCc + * * 0x270 * * [2] 0x09000000055D0B88 * * diagnoseMemoryCorruptionAndCrash__13SQLO_MEM_POOLFUlCPCc@glu * * e7ED * * + 0x78 * * [3] 0x09000000098FF60C * * .MemTreePut.fdpr.clone.156__13SQLO_MEM_POOLFP8SMemNodeUlP17S * * qloC * * hunkSubgroup * * + 0xAC * * [4] 0x0900000008C123D0 sqlofmblkEx + 0x270 * * [5] 0x09000000056EB024 * * csmFreeCursorChain__FP14db2UCinterface * * + 0x148 * * [6] 0x0900000005F7A328 * * sqleUCtrustedLvlTerm__FP15sql_static_dataP8sqlrr_cbP18sqleUC * * trus * * tedStackP10sqlri_ufob * * + 0x104 * * [7] 0x0900000008B30F3C * * sqlri_close_udf_ufob_cleanup__FP10sqlri_ufobP5sqlcaP8sqlrr_c * * b + * * 0x300 * * [8] 0x0900000008B30B2C * * sqlri_close_udf_eos__FP25sqlra_sql_context_siblingiP8sqlrr_c * * b + * * 0x124 * * [9] 0x0900000008B5038C sqlricls_simple__FP8sqlrr_cbil + * * 0x60C * * * * 2011-03-04-18.21.03.508546+540 I1855845A520 LEVEL: * * Warning * * PID : 22020406 TID : 42150 PROC : * * db2sysc * * 0 * * INSTANCE: db2inst1 NODE : 000 DB : PDDB * * APPHDL : 0-262 APPID: * * 10.115.30.21.58560.110304071545 * * AUTHID : PDDBAUTH * * EDUID : 42150 EDUNAME: db2agent (PDDB) 0 * * FUNCTION: DB2 UDB, RAS/PD component, * * pdEDUIsInDB2KernelOperation, probe:600 * * DATA #1 : String, 44 bytes * * sqloCrashOnCriticalMemoryValidationFailure * * DATA #2 : String, 4 bytes * * sqlo * * * * The Stack is like this: * * 0x09000000055D2BF8 * * sqloCrashOnCriticalMemoryValidationFailure+ * * 0x30 * * 0x09000000055D0ED8 diagnoseMemoryCorruptionAndCrash+ 0x278 * * 0x09000000055D0B88 * * diagnoseMemoryCorruptionAndCrash@glue7ED + * * 0x78 * * 0x09000000098FF60C * * .MemTreePut.fdpr.clone.SqloChunkSubgroup + * * 0xAC * * 0x0900000008C123D0 sqlofmblkEx + 0x270 * * 0x0900000008C13678 sqlddFreeDD__FPP14dataDescriptor + 0x38 * * 0x09000000068E7548 * * csmFreeDD__FP9db2UC_CCBPP14dataDescriptor + * * 0xB4 * * 0x090000000536FA74 * * csmFreeCCB__FP14db2UCinterfaceP9db2UC_CCB + * * 0xE4 * * 0x09000000066D9324 csmClose__FP14db2UCinterfaceUl + 0x68 * * 0x09000000066D887C * * closeCursor__10pvmPackageFP14db2UCinterfaceCUi + 0x1E0 * * 0x09000000066D4C60 executeSection__10pvmPackageFP5sqlcaUib * * + * * 0x2F4 * * 0x09000000066BDBF8 executeQuery__3PVMFUib + 0x1A4 * * 0x09000000066C2D68 closeCursorVariable__3PVMFUiT1b + 0x1B4 * **************************************************************** * RECOMMENDATION: * * Upgrade to db2 version v97fp5 * **************************************************************** | |
Local Fix: | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
Solution | |
First fixed in DB2 UDB Version v97fp5 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 19.04.2011 06.02.2012 06.02.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP5 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.5 |