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

 ID:                 64934
 Updated by:         a...@php.net
 Reported by:        37xzxz at gmail dot com
 Summary:            Apache2 with php5apache2_4.dll crash when use
                     get_browser()
 Status:             Closed
 Type:               Bug
 Package:            Apache2 related
 Operating System:   irrelevant
 PHP Version:        5.4Git-2013-05-27 (snap)
 Assigned To:        ab
 Block user comment: N
 Private report:     N

 New Comment:

@37xzxz exactly, the standard apache build in ubuntu is NTS, this issue 
couldn't 
be reproduced with it.

If you were so kind and pick some of the next snapshots starting with Jul 7 
from 
http://windows.php.net/downloads/snaps/ to verify this issue is gone :)

Thanks


Previous Comments:
------------------------------------------------------------------------
[2013-06-06 16:54:26] a...@php.net

Automatic comment on behalf of ab
Revision: 
http://git.php.net/?p=php-src.git;a=commit;h=1aee7ad63672747bd941f169ef42bed5765137e0
Log: Fixed bug #64934 Apache2 TS crash with get_browser()

------------------------------------------------------------------------
[2013-05-30 12:06:11] 37xzxz at gmail dot com

@ab, I performed tests for this issue on ubuntu-12.04.2-desktop-amd64

------------------------------------------------------------------------
[2013-05-29 12:03:27] a...@php.net

Well, looks like it isn't a Windows only issue, looks very similar on linux x64 
TS build. 

#0  0x00007ffff33c43c0 in gc_remove_from_buffer (root=0x20, 
tsrm_ls=0x7fff740008c0) at /home/anatol/dws/src/php-5.5-ts/Zend/zend_gc.h:189
#1  0x00007ffff33c529f in gc_remove_zval_from_buffer (zv=0x100d730, 
tsrm_ls=0x7fff740008c0) at /home/anatol/dws/src/php-5.5-ts/Zend/zend_gc.c:265
#2  0x00007ffff337bae6 in i_zval_ptr_dtor (zval_ptr=0x100d730,
    __zend_filename=0x7ffff38f8a30 
"/home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.c", __zend_lineno=182)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_execute.h:80
#3  0x00007ffff337dd91 in _zval_ptr_dtor (zval_ptr=0x7fff7403e708,
    __zend_filename=0x7ffff38f8a30 
"/home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.c", __zend_lineno=182)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_execute_API.c:428
#4  0x00007ffff33919e9 in _zval_ptr_dtor_wrapper (zval_ptr=0x7fff7403e708) at 
/home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.c:182
#5  0x00007ffff33aa295 in zend_hash_destroy (ht=0x7fff7403ed08) at 
/home/anatol/dws/src/php-5.5-ts/Zend/zend_hash.c:560
#6  0x00007ffff33cb5fe in zend_object_std_dtor (object=0x7fff7403eb38, 
tsrm_ls=0x7fff740008c0)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_objects.c:44
#7  0x00007ffff33cbcd2 in zend_objects_free_object_storage 
(object=0x7fff7403eb38, tsrm_ls=0x7fff740008c0)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_objects.c:137
#8  0x00007ffff33d3da8 in zend_objects_store_del_ref_by_handle_ex (handle=1, 
handlers=0x7ffff3c42fe0 <std_object_handlers>, 
tsrm_ls=0x7fff740008c0)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_objects_API.c:221
#9  0x00007ffff33d38e9 in zend_objects_store_del_ref (zobject=0x7fff7403e670, 
tsrm_ls=0x7fff740008c0)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_objects_API.c:173
#10 0x00007ffff33915c1 in _zval_dtor_func (zvalue=0x7fff7403e670,
    __zend_filename=0x7ffff38f75f8 
"/home/anatol/dws/src/php-5.5-ts/Zend/zend_execute.h", __zend_lineno=81)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.c:54
#11 0x00007ffff337ba00 in _zval_dtor (zvalue=0x7fff7403e670, 
__zend_filename=0x7ffff38f75f8 
"/home/anatol/dws/src/php-5.5-ts/Zend/zend_execute.h",
    __zend_lineno=81) at 
/home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.h:35
#12 0x00007ffff337bafe in i_zval_ptr_dtor (zval_ptr=0x7fff7403e670,
    __zend_filename=0x7ffff38f8a30 
"/home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.c", __zend_lineno=182)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_execute.h:81
#13 0x00007ffff337dd91 in _zval_ptr_dtor (zval_ptr=0x7fff74040ea8,
    __zend_filename=0x7ffff38f8a30 
"/home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.c", __zend_lineno=182)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_execute_API.c:428
#14 0x00007ffff33919e9 in _zval_ptr_dtor_wrapper (zval_ptr=0x7fff74040ea8) at 
/home/anatol/dws/src/php-5.5-ts/Zend/zend_variables.c:182
#15 0x00007ffff33aa681 in zend_hash_apply_deleter (ht=0x7fff740c32f8, 
p=0x7fff74040e90) at /home/anatol/dws/src/php-5.5-ts/Zend/zend_hash.c:650
#16 0x00007ffff33aad2b in zend_hash_reverse_apply (ht=0x7fff740c32f8, 
apply_func=0x7ffff337c9e4 <zval_call_destructor>, tsrm_ls=0x7fff740008c0)
    at /home/anatol/dws/src/php-5.5-ts/Zend/zend_hash.c:804
#17 0x00007ffff337cb2a in shutdown_destructors (tsrm_ls=0x7fff740008c0) at 
/home/anatol/dws/src/php-5.5-ts/Zend/zend_execute_API.c:217
#18 0x00007ffff3394ba4 in zend_call_destructors (tsrm_ls=0x7fff740008c0) at 
/home/anatol/dws/src/php-5.5-ts/Zend/zend.c:923
#19 0x00007ffff32d58d5 in php_request_shutdown (dummy=0x0) at 
/home/anatol/dws/src/php-5.5-ts/main/main.c:1742
#20 0x00007ffff3455eb5 in php_apache_request_dtor (r=0x7fffc8303d20, 
tsrm_ls=0x7fff740008c0)
    at /home/anatol/dws/src/php-5.5-ts/sapi/apache2handler/sapi_apache2.c:507
#21 0x00007ffff3456a17 in php_handler (r=0x7fffc8303d20) at 
/home/anatol/dws/src/php-5.5-ts/sapi/apache2handler/sapi_apache2.c:679
#22 0x000000000044e51e in ap_run_handler (r=0x7fffc8303d20) at config.c:169
#23 0x000000000044ee6c in ap_invoke_handler (r=0x7fffc8303d20) at config.c:432
#24 0x0000000000469edb in ap_process_async_request (r=0x7fffc8303d20) at 
http_request.c:317
#25 0x0000000000469fc0 in ap_process_request (r=0x7fffc8303d20) at 
http_request.c:363
#26 0x0000000000466865 in ap_process_http_sync_connection (c=0x7fffd0002d38) at 
http_core.c:190
#27 0x000000000046697b in ap_process_http_connection (c=0x7fffd0002d38) at 
http_core.c:231


@37xzxz you were probably testing on ubuntu standard, it's always prefork there.

------------------------------------------------------------------------
[2013-05-29 09:23:57] a...@php.net

I got the bt now, looks like it crashes on rshutdown freeing the browser object

        php5ts_debug.dll!gc_remove_from_buffer(_gc_root_buffer * root, void * * 
* tsrm_ls) Line 189     C
        php5ts_debug.dll!gc_remove_zval_from_buffer(_zval_struct * zv, void * * 
* tsrm_ls) Line 265     C
        php5ts_debug.dll!_zval_ptr_dtor(_zval_struct * * zval_ptr, const char * 
__zend_filename, const unsigned int __zend_lineno) Line 437     C
        php5ts_debug.dll!_zval_ptr_dtor_wrapper(_zval_struct * * zval_ptr) Line 
182     C
        php5ts_debug.dll!zend_hash_destroy(_hashtable * ht) Line 560    C
>       php5ts_debug.dll!zend_object_std_dtor(_zend_object * object, void * * * 
> tsrm_ls) Line 44        C
        php5ts_debug.dll!zend_objects_free_object_storage(_zend_object * 
object, void * * * tsrm_ls) Line 137   C
        php5ts_debug.dll!zend_objects_store_del_ref_by_handle_ex(unsigned int 
handle, const _zend_object_handlers * handlers, void * * * tsrm_ls) Line 
221     C
        php5ts_debug.dll!zend_objects_store_del_ref(_zval_struct * zobject, 
void * * * tsrm_ls) Line 173        C
        php5ts_debug.dll!_zval_dtor_func(_zval_struct * zvalue, const char * 
__zend_filename, const unsigned int __zend_lineno) Line 54 C
        php5ts_debug.dll!_zval_dtor(_zval_struct * zvalue, const char * 
__zend_filename, const unsigned int __zend_lineno) Line 35      C
        php5ts_debug.dll!_zval_ptr_dtor(_zval_struct * * zval_ptr, const char * 
__zend_filename, const unsigned int __zend_lineno) Line 438     C
        php5ts_debug.dll!_zval_ptr_dtor_wrapper(_zval_struct * * zval_ptr) Line 
182     C
        php5ts_debug.dll!zend_hash_apply_deleter(_hashtable * ht, bucket * p) 
Line 650  C
        php5ts_debug.dll!zend_hash_reverse_apply(_hashtable * ht, int (void *, 
void * * *) * apply_func, void * * * tsrm_ls) Line 804   C
        php5ts_debug.dll!shutdown_destructors(void * * * tsrm_ls) Line 217      
C
        php5ts_debug.dll!zend_call_destructors(void * * * tsrm_ls) Line 922     
C
        php5ts_debug.dll!php_request_shutdown(void * dummy) Line 1742   C
        php5apache2_4.dll!php_apache_request_dtor(request_rec * r, void * * * 
tsrm_ls) Line 507 C
        php5apache2_4.dll!php_handler(request_rec * r) Line 679 C

------------------------------------------------------------------------
[2013-05-29 06:44:36] 37xzxz at gmail dot com

@ab, I use full_php_browscap.ini
http://tempdownloads.browserscap.com/stream.asp?Full_PHP_BrowscapINI

and Apache/2.4.4 (Win32) OpenSSL/0.9.8y from http://www.apachelounge.com/

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


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

    https://bugs.php.net/bug.php?id=64934


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=64934&edit=1

Reply via email to