Edit report at http://bugs.php.net/bug.php?id=49937&edit=1

 ID:                 49937
 Comment by:         kkaminski at itens dot pl
 Reported by:        basa...@php.net
 Summary:            [PATCH] Race condition in PDOStatement
 Status:             Assigned
 Type:               Bug
 Package:            PDO related
 Operating System:   Linux
 PHP Version:        5.2.11
 Assigned To:        basantk
 Block user comment: N

 New Comment:

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


Previous Comments:
------------------------------------------------------------------------
[2010-08-25 02:16:03] basa...@php.net

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] basa...@php.net

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] paj...@php.net

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] basa...@php.net

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 #).

------------------------------------------------------------------------
[2010-08-24 19:38:20] kkaminski at itens dot pl

basantk: I used the patch you published in pdo_bug_52trunk.txt (this is
complete

patch, riight?). The patch fixed

my original problem but introduced a new one - in

pdo's constructor. As far I understood the code it is something with
memory

(de)allocation for queryString property.

I don't have access to crash dumps at the moment, but I will provide
full stack

trace tomorrow.

------------------------------------------------------------------------


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

Reply via email to