Informix - Problem description
Problem IT19538 | Status: Closed |
MEMORY BLOCK HEADER CORRUPTION FOLLOWED BY SEGV AFTER MANY RECURSIVE CALLS TO ORIDXCLAUSECOST | |
product: | |
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10 | |
Problem description: | |
Memory block header corruption followed by SEGV with SQL statement that has a select with "where ... in(...)" clause with a large number of values inside the "in" group. For example: select * from tab1 where col1 in ("1","2",...,"65000") The following is an example of the memory block header corruption af: 14:40:30 Found during mt_shm_malloc_segid 5 14:40:30 Pool '42*O0' (0x486eb040) 14:40:30 Bad free block 0x4b2a6098 blk-64 000000004b2a6058: 00000000 00000000 01000000 00000000 ........ ........ 000000004b2a6068: b8152a4b 00000000 cdcccc3d 00000000 ..*K.... ...=.... 000000004b2a6078: ffff0000 00000000 a8b06e48 00000000 ........ ..nH.... 000000004b2a6088: 01000000 00000000 d8152a4b 00000000 ........ ..*K.... blk+64 000000004b2a6098: cdcccc3d 00000000 e8b06e48 00000000 ...=.... ..nH.... 000000004b2a60a8: d161dd90 00000000 01000000 00000000 .a...... ........ 000000004b2a60b8: f8152a4b 00000000 cdcccc3d 00000000 ..*K.... ...=.... 000000004b2a60c8: 0bd67800 00000000 00000000 00000000 ..x..... ........ 14:40:30 Bad free block removed from free list 14:40:30 Attempting to clean up all block list... 14:40:30 Pool '42*O0' (0x486eb040) 14:40:30 Bad block header 0x4b2a6070 blk-64 000000004b2a6030: 00000000 00000000 01000000 00000000 ........ ........ 000000004b2a6040: 98152a4b 00000000 cdcccc3d 00000000 ..*K.... ...=.... 000000004b2a6050: 00000000 00000000 00000000 00000000 ........ ........ 000000004b2a6060: 01000000 00000000 b8152a4b 00000000 ........ ..*K.... 14:40:30 Bad block removed from pool ... With the following stack trace: mt_shm_malloc_segid mt_malloc old_do_rualloc old_rualloc mc_toplevel oridxclausecost oridxclausecost oridxclausecost ... oporindex opidxp opscanp op_opinit sqoptim bldstructs sqcmd sq_cmnd sq_prepare sqmain spawn_thread th_init_initgls startup Note: there are a large number of oridxclausecost() calls on the stack - possibly thousands, and possibly many stack segments. Some other possible stacks: afstack afhandler affail_interface mt_ex_throw_sig afsig_handler signal frame> old_do_rualloc old_rualloc mc_toplevel oridxclausecost oridxclausecost ... oporindex opidxp opscanp op_opinit sqoptim bldstructs sqcmd sq_cmnd sq_prepare sqmain spawn_thread th_init_initgls startup afstack afhandler affail_interface mt_free old_do_rhpfree opt_free_pool sqoptim bldstructs sqcmd sq_cmnd sq_prepare sqmain spawn_thread th_init_initgls startup | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of 12.10.xC3 through 12.10.xC8. * **************************************************************** * PROBLEM DESCRIPTION: * * A query may trigger assertion failure under the following * * conditions: * * - query involves a table defined as VTI (virtual table * * interface), e.g., a timeseries table * * - there is an IN-list predicate on the timeseries column * * - there are a large number of elements in the IN-list, * * e.g. > 32767 elements * **************************************************************** * RECOMMENDATION: * * Update to IBM Informix Server 12.10.xC9 * **************************************************************** | |
Local Fix: | |
Solution | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 03.03.2017 10.07.2017 10.07.2017 |
Problem solved at the following versions (IBM BugInfos) | |
12.10.xC9 | |
Problem solved according to the fixlist(s) of the following version(s) |