DB2 - Problem description
Problem IC80403 | Status: Closed |
DB2 INSTANCE CRASH WHEN UPDATE, DELETE, OR INSERT STATEMENT ACTIVATES A RECURSIVE CALL-IN-TRIGGER | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - 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, customer is exposed to the issue as * * described in the "ERROR DESCRIPTION" section. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.7, Fixpack 6. * **************************************************************** | |
Local Fix: | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows | |
Solution | |
First fixed in DB2 Version 9.7, Fixpack 6. | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC87835 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 13.12.2011 18.07.2012 18.07.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP6 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.6 |