home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC98896 Status: Closed

INSTANCE CRASH DUE TO MEMORY CORRUPTION WHEN USING ARRAYS AS PARAMETERS
WITHIN SQL ROUTINES

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
When using a series of SQL routines that use Arrays as 
parameters, the DB2 instance can crash (either produce 
sustainable traps, or panics and comes down).  When it 'traps' 
it can generate a call stack as follows; 
 
<StackTrace> 
-------Frame------ ------Function + Offset------ 
0x090000000BAF8B18 
cloneDyn__20sqlriArrayDescriptorFP8sqlrr_cbP20sqlriArrayDescript 
or + 0x1D0 
0x090000000A81F520 
copy__20sqlriArrayDescriptorFP8sqlrr_cbP20sqlriArrayDescriptorb 
+ 0x660 
0x090000000CA2ECBC sqlrxArrayCopy__FP8sqeAgentP10sqlz_valueT2b + 
0x198 
0x090000000C9AD304 
sqlriRowDescCopy__FP8sqlrr_cbP18sqlriRowDescriptorT2 + 0x16C 
0x090000000CA2EF30 sqlvSqlPLCopyRow__FP8sqlrr_cbP10sqlz_valueT2 
+ 0x1D8 
0x090000000C69FDA8 copyData__3PVMFP10sqlz_valueT1Ulb + 0x38 
0x090000000C675218 copyVariable__3PVMFUiT1 + 0xB0 
0x090000000C6737B0 run__3PVMFv + 0xD44 
0x090000000C670F90 pvm_entry + 0x460 
0x090000000AF8907C sqloInvokeFnArgs + 0xDC 
0x090000000B1BB678 sqloInvokeFnArgs@glue4D6 + 0x78 
0x090000000B0F2ED4 
sqlriInvokerTrusted__FP10sqlri_ufobP21sqlriRoutineErrorIntfb + 
0x1E0 
0x090000000AF86620 sqlriInvokeInvoker__FP10sqlri_ufobb + 0xD8 
0x090000000A7C0C00 sqlricall__FP8sqlrr_cb + 0x598 
0x090000000AEDBFA4 sqlriSectInvoke__FP8sqlrr_cbP12sqlri_opparm + 
0x24 
0x090000000AF2E7E4 sqlrr_process_execute_request__FP8sqlrr_cbib 
+ 0xC40 
0x090000000AF44728 
.sqlrr_execute.fdpr.clone.1958__FP14db2UCinterfaceP9UCstpInfo + 
0xB4 
0x090000000AF450D0 
.sqljs_ddm_excsqlstt.fdpr.clone.253__FP14db2UCinterfaceP13sqljDD 
MObject + 0x658 
0x090000000AF4655C 
sqljsParseRdbAccessed__FP13sqljsDrdaAsCbP13sqljDDMObjectP14db2UC 
interface + 0x110 
0x090000000B03EE70 
.sqljsParse.fdpr.clone.234__FP13sqljsDrdaAsCbP14db2UCinterfaceP8 
sqeAgentb + 0xEC 
0x090000000AF49984 @63@sqljsSqlam__FP14db2UCinterfaceP8sqeAgentb 
+ 0x2C0 
0x090000000B09F148 
@63@sqljsDriveRequests__FP8sqeAgentP14db2UCconHandle + 0xB4 
0x090000000B09EE38 
@63@sqljsDrdaAsInnerDriver__FP18SQLCC_INITSTRUCT_Tb + 0x2D4 
0x090000000B09E8BC sqljsDrdaAsDriver__FP18SQLCC_INITSTRUCT_T + 
0xFC 
0x090000000AD1DA3C RunEDU__8sqeAgentFv + 0x280 
0x090000000AD18EA8 EDUDriver__9sqzEDUObjFv + 0xDC 
0x090000000AD45AEC sqloEDUEntry + 0x254 
</StackTrace> 
 
 
When DB2 panics it can produce an entry as follows in the 
db2diag.log: 
 
2014-01-11-21.06.15.308628+060 E214845A1441       LEVEL: Severe 
PID     : 4325778              TID  : 5398        PROC : db2sysc 
0 
INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE 
APPHDL  : 0-31                 APPID: 
127.0.0.1.44131.260133143517 
AUTHID  : DB2USER 
EDUID   : 5398                 EDUNAME: db2agent (SAMPLE) 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, 32 bytes 
4325778.5398.mem_diagnostics.txt 
CALLSTCK: (Static functions may not be resolved correctly, as 
they are resolved to the nearest symbol) 
  [0] 0x090000000AF7B7D4 pdLog + 0xE0 
  [1] 0x090000000BAD2DB0 
diagnoseMemoryCorruptionAndCrash__13SQLO_MEM_POOLFUlCPCcCb + 
0x2AC 
  [2] 0x090000000BAD2A2C 
diagnoseMemoryCorruptionAndCrash__13SQLO_MEM_POOLFUlCPCcCb@glue8 
07 + 0x7C 
  [3] 0x090000000AE15A40 
.allocateMemoryBlock.fdpr.clone.242__13SQLO_MEM_POOLFCUlUlT1UiT1 
PPvPP17SqloChunkSubgroupPP12SMemLostNodeCP12SMemLogEvent + 0xC 
  [4] 0x0000000000000000 ?unknown + 0x0 
  [5] 0x090000000AE16F1C sqlogmblkEx + 0x770 
  [6] 0x090000000F5C92E8 sqlogmblkEx + 0x24C 
  [7] 0xFFFFFFFFFFFFFFFC ?unknown + 0xFFFFFFFF 
  [8] 0x090000000C6A54B4 
buildNestedArrayZVal__11pvmVarTableCFUisP10sqlz_value + 0x37C 
  [9] 0x090000000C6A4948 
buildNestedRowZVal__11pvmVarTableCFUisP10sqlz_valueb + 0x904 
 
The problem is more likely to occur when the following 
conditions are met: 
 
- An SQL routine is declared with one or more array parameters, 
whose element type is either a row type containing at least one 
array-typed field, or the element type is another array type. 
 
- The routine modifies one or more elements of these parameters 
in its body. 
 
- The routine is called more than once. 
 
The presence of these conditions does not guarantee that the DB2 
instance will crash or produce trap files.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 Version 9.7, Fix pack 11                      * 
****************************************************************
Local Fix:
Solution
First fixed in DB2 Version 9.7, Fix pack 11
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
22.01.2014
08.10.2015
08.10.2015
Problem solved at the following versions (IBM BugInfos)
9.7.FP11
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.11 FixList