Edit report at http://bugs.php.net/bug.php?id=49937&edit=1
ID: 49937 Updated by: [email protected] Reported by: [email protected] Summary: [PATCH] Race condition in PDOStatement -Status: Assigned +Status: Feedback Type: Bug Package: PDO related Operating System: Linux PHP Version: 5.2.11 Assigned To: basantk Block user comment: N New Comment: What's the status on this patch? Does it fix the issue shown in kkaminski at itens dot pl's last backtrace? Does it apply to 5.3 as well? If yes, please provide against 5.3+. Previous Comments: ------------------------------------------------------------------------ [2010-08-25 08:27:31] kkaminski at itens dot pl basantk: As promised call stack (Visual Studio 2010) for my new problem below: php5ts.dll!_zend_mm_free_int(_zend_mm_heap * heap, void * p) Line 1979 + 0x84 bytes C php5ts.dll!_efree(void * ptr) Line 2311 + 0xb bytes C php5ts.dll!_zval_ptr_dtor(_zval_struct * * zval_ptr) Line 415 + 0x25 bytes C php5ts.dll!zend_std_write_property(_zval_struct * object, _zval_struct * member, _zval_struct * value, void * * * tsrm_ls) Line 417 + 0xc bytes C php_pdo.dll!pdo_stmt_construct(_pdo_stmt_t * stmt, _zval_struct * object, _zend_class_entry * dbstmt_ce, _zval_struct * ctor_args, void * * * tsrm_ls) Line 447 C php_pdo.dll!zim_PDO_prepare(int ht, _zval_struct * return_value, _zval_struct * * return_value_ptr, _zval_struct * this_ptr, int return_value_used, void * * * tsrm_ls) Line 581 + 0x16 bytes C php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 200 + 0x3d bytes C php5ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 322 + 0x11 bytes C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 235 C php5ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 322 + 0x11 bytes C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 235 C php5ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 322 + 0x11 bytes C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 235 C php5ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 322 + 0x11 bytes C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 235 C php5ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 322 + 0x11 bytes C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 235 C php5ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 322 + 0x11 bytes C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 235 C php5ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 322 + 0x11 bytes C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 2106 C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 2106 C php5ts.dll!execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 92 + 0xc bytes C php5ts.dll!zend_execute_scripts(int type, void * * * tsrm_ls, _zval_struct * * retval, int file_count, ...) Line 1135 C php5ts.dll!php_execute_script(_zend_file_handle * primary_file, void * * * tsrm_ls) Line 2036 + 0x12 bytes C php5apache2_2.dll!php_handler(request_rec * r) Line 639 + 0xb bytes C ------------------------------------------------------------------------ [2010-08-25 02:16:03] [email protected] Sorry pajoye, I didn't know that there was a "patch upload" feature in bug database. I somehow missed the link in webpage. Anyway, I have attached the patch now. Thanks. ------------------------------------------------------------------------ [2010-08-25 02:13:17] [email protected] The following patch has been added/updated: Patch Name: pdo_race_condition_fix Revision: 1282695197 URL: http://bugs.php.net/patch-display.php?bug=49937&patch=pdo_race_condition_fix&revision=1282695197 ------------------------------------------------------------------------ [2010-08-24 20:31:38] [email protected] Please >attach< the patch to this report, upload it if you prefer. There is a upload field for this exact purpose. Comments are for comments, not for patches (which may loose their text format). ------------------------------------------------------------------------ [2010-08-24 20:17:04] [email protected] pajoye, patch is already there in bug log. Look at the patch submitted at 2009- 10-23 16:15 UTC. Http link to the same patch has been provided in comments posted at 2009-11-17 01:51 UTC. I posted the http link of the patch because it makes it easier to commit. (Unfortunately bug database don't have easy way to refer to comments #). ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=49937 -- Edit this bug report at http://bugs.php.net/bug.php?id=49937&edit=1
