DB2 - Problem description
Problem IC87835 | Status: Closed |
DB2 INSTANCE CRASH WHEN UPDATE, DELETE, OR INSERT STATEMENT ACTIVATES A RECURSIVE CALL-IN-TRIGGER | |
product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
Problem description: | |
This problem may occur when all of the following circumstances apply: - Your database defines a trigger that calls an SQL procedure. - The SQL procedure called by the trigger contains an UPDATE, DELETE, or INSERT statement to which the same trigger applies. - The SQL procedure has been previously invalidated; for example, due to an ALTER TABLE statement that modified the definition of a table on which the SQL procedure depends. - The AUTO_REVAL configuration parameter for the database is DISABLED. Your DB2 instance may then terminate abnormally with error SQL1224N, if you execute an UPDATE, DELETE, or INSERT statement that activates the trigger. Here's a sample of the db2diag.log entries i.e. <snip> 2011-11-07-19.10.23.731000-480 E204936F722 LEVEL: Info (Origin) PID : 3492 TID : 1072 PROC : db2syscs.exe INSTANCE: DB2 NODE : 000 DB : xxxxxx APPHDL : 0-7 APPID: *LOCAL.DB2.111108024701 AUTHID : xxxxxxxx EDUID : 1072 EDUNAME: db2agent (xxxxxx) 0 FUNCTION: DB2 UDB, SW- common services, sqlnn_regen_function, probe:1 DATA #1 : String, 0 bytes Object not dumped: Address: 0x0000000000000000 Size: 0 Reason: Address is NULL DATA #2 : String, 0 bytes Object not dumped: Address: 0x0000000000000000 Size: 0 Reason: Address is NULL DATA #3 : String, 8 bytes TMWIN DATA #4 : String, 18 bytes SQL110105215311800 2011-11-07-19.10.23.762000-480 E205660F722 LEVEL: Info (Origin) PID : 3492 TID : 1072 PROC : db2syscs.exe INSTANCE: DB2 NODE : 000 DB : xxxxxx APPHDL : 0-7 APPID: *LOCAL.DB2.111108024701 AUTHID : xxxxxxxx EDUID : 1072 EDUNAME: db2agent (xxxxxx) 0 FUNCTION: DB2 UDB, SW- common services, sqlnn_regen_function, probe:1 DATA #1 : String, 0 bytes Object not dumped: Address: 0x0000000000000000 Size: 0 Reason: Address is NULL DATA #2 : String, 0 bytes Object not dumped: Address: 0x0000000000000000 Size: 0 Reason: Address is NULL DATA #3 : String, 8 bytes TMWIN DATA #4 : String, 18 bytes SQL110105215311800 If a DB2 trace is taken, it will show a massive number of calls in sqlnn_regen_function(). For example, % grep -i sqlnn_regen_function trace.flw | grep -i entry |wc -l 244 % grep -i sqlrlDescendInvalidHiearchy trace.flw |wc -l 251 where sqlnn_regen_function calls sqlrlDescendInvalidHiearchy, and it calls sqlnn_regen_function over and over again. Note: the trap file generated by the crash will be zero byte in size. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * Without this APAR fix, customer is exposed to the issue as * * described in the "ERROR DESCRIPTION" section. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 10.1 Fix Pack 1. * **************************************************************** | |
Local Fix: | |
Solution | |
This problem is first fixed in DB2 Version 10.1 Fix Pack 1. | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 04.11.2012 06.11.2012 06.11.2012 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |