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

INSTANCE CRASH WHILE INSERTING RECORDS INTO A SORT IF
ENHANCED_MULTIPLE_DISTINCT DB2SET SETTING IS USED.

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
If the following conditions are true: 
- The instance is configured for DPF 
- db2set registry has 
DB2_EXTENDED_OPTIMIZATION=ENHANCED_MULTIPLE_DISTINCT 
- a query is run that contains multiple aggregations (i.e. 
sum/avg/max) 
- the query is interrupted with a particular timing 
Then the instance may crash. 
The stack traceback file for the thread that trapped will show 
something 
like this: 
0x090000000AACF5D8 sqlsinsr  + 0xEC 
0x090000000AC6FBA8 sqlrsinsr + 0x44 
0x090000000AC6FAC0 sqlrisrt + 0xFC 
0x0900000009CBD20C sqlriDetachCse + 0x378 
... 
The exact stack may vary from the above slightly.  The key 
indicator that this problem was encountered is the existance 
of the function sqlriDetachCse on the stack and then 
a sort above it. 
The issue happens because of a logic problem where one 
thread/EDU 
that gets interrupted can drop the sort while another thread/EDU 
is still trying to insert records into it, causing the second 
one to crash.
Problem Summary:
If the following conditions are true: 
- The instance is configured for DPF 
- db2set registry has 
DB2_EXTENDED_OPTIMIZATION=ENHANCED_MULTIPLE_DISTINCT 
- a query is run that contains multiple aggregations (i.e. 
sum/avg/max) 
- the query is interrupted with a particular timing 
Then the instance may crash. 
The stack traceback file for the thread that trapped will show 
something 
like this: 
0x090000000AACF5D8 sqlsinsr  + 0xEC 
0x090000000AC6FBA8 sqlrsinsr + 0x44 
0x090000000AC6FAC0 sqlrisrt + 0xFC 
0x0900000009CBD20C sqlriDetachCse + 0x378 
... 
The exact stack may vary from the above slightly.  The key 
indicator that this problem was encountered is the existance 
of the function sqlriDetachCse on the stack and then 
a sort above it. 
The issue happens because of a logic problem where one 
thread/EDU 
that gets interrupted can drop the sort while another thread/EDU 
is still trying to insert records into it, causing the second 
one to crash.
Local Fix:
The problem is unique to access plans generated by 
ENHANCED_MULTIPLE_DISTINCT. 
Disabling the db2set parameter will avoid this crash.
available fix packs:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
apar IC65734 
module engn_sqri 
fixed >= v97 fpk2
Workaround
The problem is unique to access plans generated by 
ENHANCED_MULTIPLE_DISTINCT. 
Disabling the db2set parameter w
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
20.01.2010
06.07.2010
06.07.2010
Problem solved at the following versions (IBM BugInfos)
9.7.FPk2
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.2 FixList