#38877 [Opn->Fbk]: Crash when using ReflectionClass on multiprocessor machines
| From: | tony2001@php.net | Date: | Tue, 19 Sep 2006 12:14:41 +0000 |
| Subject: | #38877 [Opn->Fbk]: Crash when using ReflectionClass on multiprocessor machines | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-102403@lists.php.net to get a copy of this message | ||
ID: 38877
Updated by: tony2001@php.net
Reported By: fjortiz at comunet dot es
-Status: Open
+Status: Feedback
Bug Type: Class/Object related
Operating System: Win32+Apache2.0.54
PHP Version: 5.1.6
New Comment:
Okay, please make sure you've disabled all zend_extensions and
third-party modules.
If you're still able to reproduce it, please provide a complete
reproduce code, which doesn't require any external resources (like
databases etc.)
Previous Comments:
------------------------------------------------------------------------
[2006-09-19 12:08:59] fjortiz at comunet dot es
Sorry, still crashes. I cannot see the backtrace now I guess that's
because I don't have the symbols for this version, but it seems to be
the same kind of crash, because it disappears when I comment the
ReflectionClass stuff (same as with 5.1.6)
------------------------------------------------------------------------
[2006-09-19 11:13:20] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2006-09-19 11:02:28] fjortiz at comunet dot es
Description:
------------
Hi,
We have a web app that uses PHP5 features extensively. We detected our
Apache crashed frecuently so we tried to catch a backtrace.
We detected that when using Apache2+PHP5.1.6 on single processor
machines, no crashes were found.
But on multi-processor (or single processor+hyperthreading or dual
core, for the matter), the crash was easily reproducible.
Backtrace:
_efree(void * 0x006f6968) line 317 + 26 bytes
_zval_ptr_dtor(_zval_struct * * 0x0557a0ac) line 395 + 12 bytes
_zend_hash_add_or_update(_hashtable * 0x00860b01, char * 0x0557a1f8,
unsigned int 10195456, void * 0x00000005, unsigned int 87094612, void *
* 0x00000004, int 0) line 229 + 6 bytes
reflection_property_factory(_zend_class_entry * 0x00860813,
_zend_property_info * 0x066d1268, _zval_struct * 0x066d1268, void * * *
0x066ccfb8) line 1132 + 43 bytes
zif_reflection_class_getProperty(int 7509201, _zval_struct *
0x06640140, _zval_struct * * 0x066ccfb8, _zval_struct * 0x00000000, int
107795056, void * * * 0x00000001) line 3023 + 13 bytes
zend_do_fcall_common_helper_SPEC(_zend_execute_data * 0x00728e95, void
* * * 0x0530f608) line 200 + 53 bytes
ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * 0x0530f608,
void * * * 0x011d6350) line 322 + 17 bytes
execute(_zend_op_array * 0x0076cf52, void * * * 0x0530f6b0) line 92 +
12 bytes
ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER(_zend_execute_data *
0x00728e15, void * * * 0x0530f6b0) line 14821 + 16 bytes
execute(_zend_op_array * 0x00728e95, void * * * 0x0530f758) line 92 +
12 bytes
ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * 0x0530f758,
void * * * 0x011d6350) line 322 + 17 bytes
execute(_zend_op_array * 0x00728e95, void * * * 0x0530f800) line 92 +
12 bytes
ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * 0x0530f800,
void * * * 0x011d6350) line 322 + 17 bytes
execute(_zend_op_array * 0x00728e95, void * * * 0x0530f8a8) line 92 +
12 bytes
ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER(_zend_execute_data * 0x0530f8a8,
void * * * 0x011d6350) line 322 + 17 bytes
execute(_zend_op_array * 0x7c9206eb, void * * * 0x0071900d) line 92 +
12 bytes
NTDLL! 7c9206eb()
KERNEL32! 7c80b50b()
I have located the files where I use ReflectionClass, and I can manage
without it, but it would be great if you could find why this happens.
Tell me if you need more information. I cannot send you sample code
easily because its a full blown web with hundreds of objects, but if
you can't manage with this information, I could try to reproduce it
with a simple example.
TIA
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=38877&edit=1