DB2 - Problem description
Problem IC76340 | Status: Closed |
DATABASE CRASHES DURING REORG DUE TO FAILING INDEX PREFETCHING LOGIC | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
Database crashed during table reorg due to failing index leaf prefetching logic, as reported by the following probe: 2011-04-03-02.19.38.282689+000 I7036583A2349 LEVEL: Severe PID : 1274058 TID : 12081 PROC : db2sysc 0 INSTANCE: xxxxxx NODE : 000 EDUID : 12081 EDUNAME: db2pfchr (xxx) 0 FUNCTION: DB2 UDB, buffer pool services, sqlbServiceLeafRequest, probe:4479 DATA #1 : String, 9 bytes The error occurred while DB2 was getting ready to prefetch index leaf pages from disk. This type of request is made by the index leaf page scanner during a REORG TABLE. Defensive code check determines that the number of page entries exceeds the page array size. Prior to RID list compression an array size equal to pageSize was enough to store all of the RIDs from a single index page, but with RID list compression this is no longer true. In any case, this internal programming error should be gracefully handled; it should not bring down database. The condition that brought down the database originates from freeing the same pointer twice while handling the previous error. The following db2diag.log entry alerts to the memory error: 2011-04-03-02.19.38.287016+000 I7050099A1579 LEVEL: Severe PID : 1274058 TID : 12081 PROC : db2sysc 0 INSTANCE: xxxxxx NODE : 000 EDUID : 12081 EDUNAME: db2pfchr (xxx) 0 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 0x00000001112f2540 DATA #3 : Block header, PD_TYPE_BLK_HEADER, 24 bytes 0x00000001112F2528 : FAB0 0000 0011 12F0 0000 0000 0000 0000 ................ 0x00000001112F2538 : 0000 0000 0000 0000 ........ DATA #4 : Data header, PD_TYPE_BLK_DATA_HEAD, 48 bytes 0x00000001112F2540 : 0000 0000 0000 DAC0 02FD 0626 02FD 06B0 ...........&.... 0x00000001112F2550 : 02FD 072F 02FD 09B0 02FD 09B9 02FD 09BD .../............ 0x00000001112F2560 : 02FD 0C83 02FD 1005 02FD 10E2 02FD 183F ...............? CALLSTCK: [0] 0x0900000006734ABC pdLog + 0xEC [1] 0x0900000002EA78D4 @79@sqloDiagnoseFreeBlockFailure__FP8SMemFBlk + 0x150 [2] 0x09000000064877D4 sqlofmblkEx + 0x58 [3] 0x090000000615580C sqlbServiceLeafRequest__FP11SQLB_pfMisc + 0x440 [4] 0x0900000003762648 sqlbPFPrefetcherEntryPoint__FP16sqbPrefetcherEdu + 0x46C [5] 0x09000000064DCB28 RunEDU__16sqbPrefetcherEduFv + 0x2C [6] 0x09000000064DB4B0 EDUDriver__9sqzEDUObjFv + 0x1C0 [7] 0x09000000064D2F18 sqloEDUEntry + 0x260 [8] 0x09000000002CE4F4 _pthread_body + 0xDC [9] 0xFFFFFFFFFFFFFFFC ?unknown + 0xFFFFFFFF | |
Problem Summary: | |
APAR fix is available in V9.7 Fixpack 5. | |
Local Fix: | |
Disable index compression (prior to the fact) or avoid calling reorg with the reclustering option. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
Solution | |
APAR fix is available in V9.7 Fixpack 5. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 11.05.2011 27.02.2012 27.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 |