APAR status
Closed as fixed if next.
Error description
The stack trace for the sqlexe thread that is generating the assertion failure is as follows: rdatavalChar() valload() geval() loadkey() loadidxkey() readidx_old() gettupl() scan_next() join_next() join_next() join_next() getrow() fetchrow() exfetch() sql_nfetch() sqmain() listen_verify() spawn_thread() startup() The query that is generating the crash looks like this: SELECT MAIN.*, CUSTOMER.* FROM ( SELECT BIDS.doc_no doc_no, CHANNEL.channel_code channel_code, BIDS.order_date order_date, BIDS.sls_psn_code sls_psn_code, BIDS.create_id create_id, (select sales_person.src_desc from stxinfor sales_person where sales_person.src_key=BIDS.sls_psn_code and sales_person.src_type='L') sls_psn_name, (select account_mgr.src_desc from stxinfor account_mgr where account_mgr.src_key=CUSTOMER.sls_psn_code andaccount_mgr.src_type='L') account_mgr, BIDS.cust_code cust_code, CUSTOMER.cust_code c_cust_code, CUSTOMER.bus_name c_bus_name, CUSTOMER.address1 c_address, CUSTOMER.city c_city, CUSTOMER.state c_state, CUSTOMER.zip c_zip, CUSTOMER.country c_country, sum(BIDS.item_amount) bid_amount, sum(ORDERS.item_amount) order_amount FROM stoordre BIDS JOIN bhoordrs CHANNEL ON CHANNEL.doc_no=BIDS.doc_no LEFT JOIN (stoordre ORDERS JOIN stoshipd SHIPPED ON SHIPPED.doc_no=ORDERS.doc_no) ON ORDERS.orig_doc_no=BIDS.doc_no AND ORDERS.order_type IN ('WEB','PHO','STO','MO') AND SHIPPED.stage = 'PST' JOIN strcustr CUSTOMER ON CUSTOMER.cust_code=BIDS.cust_code WHERE BIDS.order_date >= '01/01/2010' AND BIDS.order_type = 'BID' AND CHANNEL.channel_code IN ('B2BD','B2BW') GROUP BY BIDS.doc_no, CHANNEL.channel_code, BIDS.order_date, BIDS.sls_psn_code, BIDS.create_id, 6, 7, BIDS.cust_code, CUSTOMER.cust_code, CUSTOMER.bus_name, CUSTOMER.address1, CUSTOMER.city, CUSTOMER.state, CUSTOMER.zip, CUSTOMER.country ) MAIN LEFT JOIN (SELECT bhroapsd.cust_code cust_code1, bhrcustc.cust_code cust_code2, parent.cust_code p_cust_code, parent.bus_name p_bus_name, parent.address1 p_address, parent.city p_city, parent.state p_state, parent.zip p_zip, parent.country p_country, bhrcustc.cust_industry_code industry_code, stxinfor.src_desc industry FROM bhroapse, bhroapsd, strcustr parent, bhrcustc, stxinfor WHERE bhroapsd.p_code=bhroapse.p_code AND bhroapse.cust_code=parent.cust_code AND bhrcustc.cust_industry_code=stxinfor.src_key AND stxinfor.src_type='U' ) CUSTOMER on CUSTOMER.cust_code1=MAIN.cust_code and MAIN.cust_code=CUSTOMER.cust_code2 So the query is using derived tables. This query runs fine if IFX_FOLDVIEW is set to 0 in the ONCONFIG file. As soon as IFX_FOLDVIEW is set to 1, the server will crash.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Users who have set IFX_FOLDVIEW to 1 and there are more than * * 3 tables in the view definition and this view is joined with * * other tables. * **************************************************************** * PROBLEM DESCRIPTION: * * The stack trace for the sqlexec thread that is generating * * the * * assertion failure is as follows: * * * * * * * * rdatavalChar() * * * * valload() * * * * geval() * * * * loadkey() * * * * loadidxkey() * * * * readidx_old() * * * * gettupl() * * * * scan_next() * * * * join_next() * * * * join_next() * * * * join_next() * * * * getrow() * * * * fetchrow() * * * * exfetch() * * * * sql_nfetch() * * * * sqmain() * * * * listen_verify() * * * * spawn_thread() * * * * startup() * * * * * * * * The query that is generating the crash looks like this: * * * * * * * * SELECT MAIN.*, CUSTOMER.* * * * * FROM * * * * ( SELECT BIDS.doc_no doc_no, * * * * CHANNEL.channel_code channel_code, BIDS.order_date * * * * order_date, * * * * BIDS.sls_psn_code sls_psn_code, BIDS.create_id * * create_id, * * (select sales_person.src_desc from stxinfor * * sales_person * * where * * * * sales_person.src_key=BIDS.sls_psn_code and * * * * sales_person.src_type='L') sls_psn_name, * * * * (select account_mgr.src_desc from stxinfor account_mgr * * * * where * * * * account_mgr.src_key=CUSTOMER.sls_psn_code * * * * andaccount_mgr.src_type='L') account_mgr, * * * * BIDS.cust_code cust_code, CUSTOMER.cust_code * * c_cust_code, * * CUSTOMER.bus_name c_bus_name, * * * * CUSTOMER.address1 c_address, CUSTOMER.city c_city, * * * * CUSTOMER.state * * * * c_state, CUSTOMER.zip c_zip, CUSTOMER.country * * c_country, * * sum(BIDS.item_amount) bid_amount, * * sum(ORDERS.item_amount) * * order_amount * * * * FROM stoordre BIDS JOIN bhoordrs CHANNEL ON * * * * CHANNEL.doc_no=BIDS.doc_no * * * * LEFT JOIN (stoordre ORDERS JOIN stoshipd SHIPPED ON * * * * SHIPPED.doc_no=ORDERS.doc_no) ON * * * * ORDERS.orig_doc_no=BIDS.doc_no AND * * * * ORDERS.order_type IN ('WEB','PHO','STO','MO') AND * * * * SHIPPED.stage = * * * * 'PST' JOIN strcustr CUSTOMER ON * * * * CUSTOMER.cust_code=BIDS.cust_code WHERE * * * * BIDS.order_date >= '01/01/2010' AND BIDS.order_type = * * 'BID' * * AND * * * * CHANNEL.channel_code IN ('B2BD','B2BW') * * * * GROUP BY BIDS.doc_no, CHANNEL.channel_code, BIDS.order_date, * * * * BIDS.sls_psn_code, BIDS.create_id, * * * * 6, 7, BIDS.cust_code, CUSTOMER.cust_code, * * * * CUSTOMER.bus_name, * * * * CUSTOMER.address1, CUSTOMER.city, CUSTOMER.state, * * * * CUSTOMER.zip, * * * * CUSTOMER.country ) * * * * MAIN LEFT JOIN * * * * (SELECT bhroapsd.cust_code cust_code1, * * * * bhrcustc.cust_code cust_code2, parent.cust_code * * * * p_cust_code, * * * * parent.bus_name p_bus_name, parent.address1 p_address, * * * * parent.city p_city, * * * * parent.state p_state, parent.zip p_zip, parent.country * * * * p_country, * * * * bhrcustc.cust_industry_code industry_code, * * * * stxinfor.src_desc industry * * * * FROM * * * * bhroapse, bhroapsd, strcustr parent, bhrcustc, * * stxinfor * * WHERE * * * * bhroapsd.p_code=bhroapse.p_code AND * * * * bhroapse.cust_code=parent.cust_code * * * * AND bhrcustc.cust_industry_code=stxinfor.src_key AND * * * * stxinfor.src_type='U' ) CUSTOMER * * * * on CUSTOMER.cust_code1=MAIN.cust_code and * * * * MAIN.cust_code=CUSTOMER.cust_code2 * * * * * * * * So the query is using derived tables. This query runs fine * * if * * IFX_FOLDVIEW is set to 0 in the ONCONFIG file. As soon as * * * * IFX_FOLDVIEW is set to 1, the server will crash. * **************************************************************** * RECOMMENDATION: * * Upgrade to IDS version 11.50.xC9 when available. * ****************************************************************
Problem conclusion
Temporary fix
Comments
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp For download information, go to: http://www.ibm.com/support/fixcentral
APAR Information
APAR number
IC75139
Reported component name
IBM IDS ENTRP E
Reported component ID
5724L2304
Reported release
B15
Status
CLOSED FIN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-03-21
Closed date
2011-09-27
Last modified date
2011-09-27
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
RB15 PSY
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B15","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
27 September 2011