From: fjortiz at comunet dot es Operating system: Win32+Apache2.0.54 PHP version: 5.1.6 PHP Bug Type: Class/Object related Bug description: Crash when using ReflectionClass on multiprocessor machines
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 bug report at http://bugs.php.net/?id=38877&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=38877&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=38877&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=38877&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=38877&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=38877&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=38877&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=38877&r=needscript Try newer version: http://bugs.php.net/fix.php?id=38877&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=38877&r=support Expected behavior: http://bugs.php.net/fix.php?id=38877&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=38877&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=38877&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=38877&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=38877&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=38877&r=dst IIS Stability: http://bugs.php.net/fix.php?id=38877&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=38877&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=38877&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=38877&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=38877&r=mysqlcfg