DB2 - Problem description
Problem IC64116 | Status: Closed |
INSTANCE CRASH DUE TO STACK OVERFLOW WITH FUNCTION SQLNG_PROCESS_BF_NODE OR SQLNG_PROCESS_PARSE_TREE_NODE | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
During SQL compilation, a query being compiled may cause the DB2 instance to crash due to a stack overflow exception. However, the new behaviour in DB2 Version 9.5 should ideally cause the DB2 agent to return an sqlcode SQL0973N upon detecting such a scenario. The stack trace from such an abend will look like: -------Frame------ ------Function + Offset------ 0x0900000004C8FC94 sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x50 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 * * The function sqlng_process_parse_tree_node() and sqlng_process_BF_node is repeated many times * 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 .... | |
Problem Summary: | |
Users Affected: The users who are running a very complex query that requires excessive amount of stack space to be compiled. PROLBEM: During SQL compilation, a query being compiled may cause the DB2 instance to crash due to a stack overflow exception. However, the new behaviour in DB2 Version 9.5 and later should ideally cause the DB2 agent to return an sqlcode SQL0973N upon detecting such a scenario. The stack trace from such an abend will look like: -------Frame------ ------Function + Offset------ 0x0900000004C8FC94 sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x50 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 * * The function sqlng_process_parse_tree_node() and sqlng_process_BF_node is repeated many times * 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 0x0900000004C9108C sqlng_process_parse_tree_node__FP9sqlng_blkP9sqlnq_pid + 0x1448 0x0900000005AF8DB0 sqlng_process_BF_node__FP9sqlng_blkP9sqlnq_pid + 0x134 .... | |
Local Fix: | |
In DB2 Version 9.5, users have the ability to control the size of the runtime stack used by a DB2 agent. Consequently,increasing the value for the "agent_stack_sz" database configuration parameter will help workaround the issue. | |
Solution | |
Problem was fixed in Version 9.7 Fix Pack 1 | |
Workaround | |
In DB2 Version 9.5 and later, users have the ability to control the size of the runtime stack used by a DB2 agent. Consequently,increasing the value for the "agent_stack_sz" database configuration parameter will help workaround the issue. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 23.10.2009 19.11.2009 19.11.2009 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP1 | |
Problem solved according to the fixlist(s) of the following version(s) |