Informix - Problem description
Problem IT32607 | Status: Closed |
CONCURRENT STARTING AND EXITING OF DBWORKER THREADS COULD LEAD TO INCORRECT CE_USECOUNT/REF_CNT | |
product: | |
INFORMIX SERVER / 5725A3900 / B70 - IDS 11.70 | |
Problem description: | |
There is a timing problem when starting and stopping dbWorker threads concurrently across cpu vps/processors which can lead to the ref_cnt value for the db_sch_worker function (from onstat -g pr) to become incorrect. If this value does get out of sync, it might be possible for the cache entry to be removed while threads may still be referencing it. If that were to happen it could lead to assertion failures. One possible stack could be: 13:10:11 Stack for thread: 26375823 dbWorker3 0x000000010009b9dc (oninit)affail_interface 0x000000010009f314 (oninit)mt_ex_throw_sig@AF11_4 0x0000000100061f54 (oninit)afsig_handler 0x0000000100a35d80 (oninit)db_sch_worker 0x0000000100e917d8 (oninit)udrlm_clang_execute_internal 0x0000000100e91518 (oninit)udrlm_clang_execute 0x00000001015dcd5c (oninit)udrlm_exec_routine 0x00000001003e2920 (oninit)udr_execute 0x0000000100a44f8c (oninit)dbsched_start_udr 0x0000000100b14f44 (oninit)th_init_initgls 0x000000010161f7fc (oninit)startup | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of Informix 11.70.xC9 and earlier versions. * **************************************************************** * PROBLEM DESCRIPTION: * * There is a timing problem when starting and stopping * * dbWorker * * threads concurrently across cpu vps/processors which can * * lead to * * the ref_cnt value for the db_sch_worker function (from * * onstat -g * * pr) to become incorrect. If this value does get out of * * sync, it * * might be possible for the cache entry to be removed while * * threads may still be referencing it. * * * * If that were to happen it could lead to assertion failures. * * One * * possible stack could be: * * * * 13:10:11 Stack for thread: 26375823 dbWorker3 * * * * (oninit)affail_interface * * (oninit)mt_ex_throw_sig@AF11_4 * * (oninit)afsig_handler * * (oninit)db_sch_worker * * (oninit)udrlm_clang_execute_internal * * (oninit)udrlm_clang_execute * * (oninit)udrlm_exec_routine * * (oninit)udr_execute * * (oninit)dbsched_start_udr * * (oninit)th_init_initgls * * (oninit)startup * **************************************************************** * RECOMMENDATION: * **************************************************************** | |
Local Fix: | |
Solution | |
Workaround | |
**************************************************************** * USERS AFFECTED: * * Users of Informix 11.70.xC9 and earlier versions. * **************************************************************** * PROBLEM DESCRIPTION: * * There is a timing problem when starting and stopping * * dbWorker * * threads concurrently across cpu vps/processors which can * * lead to * * the ref_cnt value for the db_sch_worker function (from * * onstat -g * * pr) to become incorrect. If this value does get out of * * sync, it * * might be possible for the cache entry to be removed while * * threads may still be referencing it. * * * * If that were to happen it could lead to assertion failures. * * One * * possible stack could be: * * * * 13:10:11 Stack for thread: 26375823 dbWorker3 * * * * (oninit)affail_interface * * (oninit)mt_ex_throw_sig@AF11_4 * * (oninit)afsig_handler * * (oninit)db_sch_worker * * (oninit)udrlm_clang_execute_internal * * (oninit)udrlm_clang_execute * * (oninit)udrlm_exec_routine * * (oninit)udr_execute * * (oninit)dbsched_start_udr * * (oninit)th_init_initgls * * (oninit)startup * **************************************************************** * RECOMMENDATION: * **************************************************************** | |
Comment | |
Upgrade to Informix 11.70.xC9W2. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 20.04.2020 24.08.2020 31.08.2020 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |