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

SQLO_LATCH_ERROR_EXPECTED_HELD ERROR LEADS TO DB2 CRASH IN WINDOWS

product:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problem description:
The database crashes when DB2 tries to unlock a latch which was 
either invalid or was already unlocked before, 
the error message logged in db2diag.log is : 
 
yyyy-mm-dd-23.30.00.450000+480 xxxxxxx        LEVEL: Severe (OS) 
PID     : 28436                TID  : 22152       PROC : 
db2fmp64.exe 
INSTANCE: Instance_name               NODE : 000         DB   : 
Database_name 
APPID   : *LOCAL.<dbname>.131017145330 
EDUID   : 22152 
FUNCTION: DB2 UDB, SQO Latch Tracing, 
SQLO_SLATCH_CAS32::releaseConflictComplex, probe:360 
MESSAGE : 
ZRC=0x870F011E=-2029059810=SQLO_LATCH_ERROR_EXPECTED_HELD 
          "expected latch to be held." 
CALLED  : OS, -, unspecified_system_function 
DATA #1 : String, 39 bytes 
Attempting to unlock an invalid latch: 
DATA #2 : File name, 16 bytes 
sqloLatchCAS32.C 
DATA #3 : Source file line number, 8 bytes 
1503 
DATA #4 : Codepath, 8 bytes 
0 
DATA #5 : String, 114 bytes 
0x00000000: { 
   held X: 0 
   reserved for X: 0 
   shared holders: 0 
   shared waiter: 0 
   exclusive waiter: 0 
} 
DATA #6 : LatchMode, PD_TYPE_LATCH_MODE, 8 bytes 
0x0 (invalid mode) 
DATA #7 : String, 560 bytes 
{ 
   state            = 0x00000000 
                    = { 
                          held X: 0 
                          reserved for X: 0 
                          shared holders: 0 
                          shared waiter: 0 
                          exclusive waiter: 0 
                      } 
   flags            = 32768 (No X Starvation) 
   numXPostsPending = 0 
   m_pSemPoolElement  = 0x0000000000000000 
   cs               = { 
   lock          = { 0x80 [ locked ] } 
   flags         = 0x0000 
   identity      = SLATCH_DEFAULT::critical_section (26) 
} 
 
} 
DATA #8 : Hexdump, 24 bytes 
0x00000001804DEA58 : 0000 0000 2283 0000 8000 1A00 0000 0000 
...."........... 
0x00000001804DEA68 : 0000 0000 0000 0000 
........ 
CALLSTCK: 
  [0] 0x000000018012B8C3 pdLogSysRC + 0x393 
  [1] 0x0000000180011FA4 SQLO_SLATCH_CAS32::dumpDiagInfoAndPanic 
+ 0x1E2 
  [2] 0x00000001800124A0 
SQLO_SLATCH_CAS32::releaseConflictComplex + 
0x3BC 
  [3] 0x0000000180012097 SQLO_SLATCH_CAS32::releaseConflict + 
0x39 
  [4] 0x0000000180063BB8 sqlogmt2 + 0x24E 
  [5] 0x000000000226A760 sqm_timestamp + 0x2C 
  [6] 0x000000000244EA37 sqlmon_conn::stmt_start + 0x49D 
  [7] 0x00000000023E52B8 sqlmon_acb::agent_stmt_start + 0x51E 
 
...and then the database shutdown (crash) message is seen. 
 
 
Analysis : 
 
The above latch error, most of the times, is logged after a 
failure of some procedure which runs in the Administrative Task 
Scheduler (ATS). Failure of the procedure may also log similar 
error as below in db2diag.log : 
 
yyyy-mm-dd-23.15.06.504000+480 XXXX         LEVEL: Error 
PID     : 28436                TID  : 22736       PROC : 
db2fmp64.exe 
INSTANCE: Instance_name               NODE : 000         DB   : 
Database_name 
APPID   : *LOCAL.<database_name>.131017151501 
EDUID   : 22736 
FUNCTION: DB2 UDB, Administrative Task Scheduler, 
AtsTask::executeTask, probe:600 
MESSAGE : ZRC=0xFFFFFE4A=-438 
DATA #1 : <preformatted> 
[IBM][CLI Driver][DB2/NT64] SQL0438N  Application raised error 
or warning with diagnostic text: "SQL0438N  Application raised 
error or warning with diagnostic text: "C".  SQLSTATE=55555 
 
Analysis shows that, this type of a latch problem happens due to 
an unwanted latch re-initialization in a timestamp related 
function in DB2. 
 
In the fix, we solve this problem of latch re-initialization in 
the failing function in order to avoid the crash.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users on DB2 V10.1 Fixpak 4 and below                        * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 v10.1 Fixpak 5                                * 
****************************************************************
Local Fix:
There are 3 possible workarounds for the problem : 
1> DB2_FMP_COMM_HEAPSZ=0 
2> DB2_ATS_ENABLE=NO 
3> Run the store procedure in question in a single thread FMP 
process i.e. NOT THREADSAFE.
Solution
First fixed in DB2 v10.1 Fixpak 5
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
26.11.2014
15.07.2015
15.07.2015
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
10.1.0.5 FixList