Informix - Problem description
Problem IT33659 | Status: Closed |
MEMORY CORRUPTION POSSIBLE WHEN STMT_CACHE AND EXT_DIRECTIVES BOTH ENABLED AND QUERY WITH A SUBQUERY. | |
product: | |
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10 | |
Problem description: | |
The problem is the server referencing freed memory, which could possibly be used as just about anything so stack traces and such could vary. However, customer saw this stack trace multiple times: (oninit)afsig_handler (oninit)isenter (oninit)rsstart (oninit)fmstart (oninit)extd_search (oninit)dir_sp2cb (oninit)sel2cb (oninit)subq2cb (oninit)subq2expr (oninit)expr2expr (oninit)buildexpr (oninit)expr2expr (oninit)cond2expr (oninit)sel2cb (oninit)qblk2cb (oninit)stmt2cb (oninit)p_sp2cb (oninit)ssc_link (oninit)IPRA.$parsecmd (oninit)IPRA.$sqcmd (oninit)sq_cmnd (oninit)sq_prepare (oninit)sqmain (oninit)listen_verify (oninit)spawn_thread (oninit)th_init_initgls (oninit)startup In the $ONCONFIG file both STMT_CACHE and EXT_DIRECTIVES were enabled with the following values: EXT_DIRECTIVES 2 STMT_CACHE 2 Failing thread was also showing as trying to processes a query that had a subquery in it, like this: Current SQL statement (1) : select nvl(max(ess_sr_no),0) from enc_str_stage where ess_sr_no in (select ecs_ess_sr_no from enc_cpr_stage) | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of Informix Server prior to 12.10.xC15 and 14.10.xC5. * **************************************************************** * PROBLEM DESCRIPTION: * * The problem is the server referencing freed memory, which * * could * * possibly be used as just about anything so stack traces and * * such * * could vary. However, the following stack trace is seen * * multiple * * times: * * * * (oninit)afsig_handler * * (oninit)isenter * * (oninit)rsstart * * (oninit)fmstart * * (oninit)extd_search * * (oninit)dir_sp2cb * * (oninit)sel2cb * * (oninit)subq2cb * * (oninit)subq2expr * * (oninit)expr2expr * * (oninit)buildexpr * * (oninit)expr2expr * * (oninit)cond2expr * * (oninit)sel2cb * * (oninit)qblk2cb * * (oninit)stmt2cb * * (oninit)p_sp2cb * * (oninit)ssc_link * * (oninit)IPRA.$parsecmd * * (oninit)IPRA.$sqcmd * * (oninit)sq_cmnd * * (oninit)sq_prepare * * (oninit)sqmain * * (oninit)listen_verify * * (oninit)spawn_thread * * (oninit)th_init_initgls * * (oninit)startup * * * * In the $ONCONFIG file both STMT_CACHE and EXT_DIRECTIVES * * were * * enabled with the following values: * * * * EXT_DIRECTIVES 2 * * STMT_CACHE 2 * * * * Failing thread was also shown trying to process a query * * that had a subquery in it, like this: * * * * Current SQL statement (1) : * * select nvl(max(ess_sr_no),0) from enc_str_stage where * * ess_sr_no in (select * * ecs_ess_sr_no from enc_cpr_stage) * **************************************************************** * RECOMMENDATION: * * Upgrade to Informix Server 12.10.xC15 (when available) or * * 14.10.xC5. * **************************************************************** | |
Local Fix: | |
Solution | |
Workaround | |
**************************************************************** * USERS AFFECTED: * * Users of Informix Server prior to 12.10.xC15 and 14.10.xC5. * **************************************************************** * PROBLEM DESCRIPTION: * * The problem is the server referencing freed memory, which * * could * * possibly be used as just about anything so stack traces and * * such * * could vary. However, the following stack trace is seen * * multiple * * times: * * * * (oninit)afsig_handler * * (oninit)isenter * * (oninit)rsstart * * (oninit)fmstart * * (oninit)extd_search * * (oninit)dir_sp2cb * * (oninit)sel2cb * * (oninit)subq2cb * * (oninit)subq2expr * * (oninit)expr2expr * * (oninit)buildexpr * * (oninit)expr2expr * * (oninit)cond2expr * * (oninit)sel2cb * * (oninit)qblk2cb * * (oninit)stmt2cb * * (oninit)p_sp2cb * * (oninit)ssc_link * * (oninit)IPRA.$parsecmd * * (oninit)IPRA.$sqcmd * * (oninit)sq_cmnd * * (oninit)sq_prepare * * (oninit)sqmain * * (oninit)listen_verify * * (oninit)spawn_thread * * (oninit)th_init_initgls * * (oninit)startup * * * * In the $ONCONFIG file both STMT_CACHE and EXT_DIRECTIVES * * were * * enabled with the following values: * * * * EXT_DIRECTIVES 2 * * STMT_CACHE 2 * * * * Failing thread was also shown trying to process a query * * that had a subquery in it, like this: * * * * Current SQL statement (1) : * * select nvl(max(ess_sr_no),0) from enc_str_stage where * * ess_sr_no in (select * * ecs_ess_sr_no from enc_cpr_stage) * **************************************************************** * RECOMMENDATION: * * Upgrade to Informix Server 12.10.xC15 (when available) or * * 14.10.xC5. * **************************************************************** | |
Comment | |
Fixed in Informix Server 12.10.xC15 and 14.10.xC5. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 23.07.2020 04.02.2021 04.02.2021 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |