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 IC77265 Status: Closed

DATABASE MAY CRASH AFTER A MEMORY CORRUPTION FOR QUERIES THAT CONTAIN
DECFLOAT(34) COLUMNS WITHIN A TABLEQUEUE.

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
This APAR fixes a memory corruption that is caused by a memory 
alignment problem in the internal structures that deal with the 
tablequeues logic. 
 
A tablequeue is the access plan functionality that allows for 
the sending of row data in between subsections of the plan.  As 
such, you can only get an access plan that features a tablequeue 
for an instance configured with the data partitioning facility 
(DPF), OR, if the instance is configured for intra-partition 
parallelism (the dbm cfg setting of INTRA_PARALLEL is turned 
on).  Otherwise, this problem cannot be encountered. 
 
In addition, the conditions to potentially hit the problem are: 
- there is a tablequeue in the access plan that contains 
DECFLOAT(34) columns in the tablequeue row. 
- a memory allocation during the query initialization happens by 
chance to have a certain alignment. There is no way to control 
this alignment, however it's noted that it's somewhat rare to 
achieve the alignment necessary to result in this problem. 
- the problem is more likely to occur for, but not limited to, 
sorted/merging tablequeues 
 
The APAR will fix the alignment of the allocation and remove the 
potential to encounter the memory corruption. 
 
Since this defect is about a memory corruption, it means that 
the end symptom may not be clearly defined since it depends on 
what things get overwritten by the corruption.  Typically for 
this defect, we have seen crashes when an agent has read a row 
from the tablequeue, but the row data does not make sense so the 
subsequent handling of the row fails.  An example stack that we 
have seen for this is the following, where an insert failed 
because it read the bad data from the corrupted tablequeue, but 
there is likely other potential traps that could happen: 
 
sqldValidateData + 0xAD0 
sqldFastFormatFixedVar + 0x540 
sqldFastFormat + 0x5C 
sqldRowInsert + 0xC14 
sqlrinsr + 0x108
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users running a DPF, memory debug enabled environment.       * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* Database and logs may be marked bad because of incorrect     * 
* shared memory alignment in a multi-node DPF setup which has  * 
* memory debug enabled.                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to V95FP9 containing the fix.                        * 
****************************************************************
Local Fix:
available fix packs:
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Upgrade to V95FP9 containing the fix.
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC77270 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
30.06.2011
07.03.2012
07.03.2012
Problem solved at the following versions (IBM BugInfos)
9.5.FP9
Problem solved according to the fixlist(s) of the following version(s)
9.5.0.9 FixList