php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38877 Crash when using ReflectionClass on multiprocessor machines
Submitted: 2006-09-19 11:02 UTC Modified: 2006-09-27 01:00 UTC
From: fjortiz at comunet dot es Assigned:
Status: No Feedback Package: Class/Object related
PHP Version: 5.1.6 OS: Win32+Apache2.0.54
Private report: No CVE-ID: None
 [2006-09-19 11:02 UTC] 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





Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-09-19 11:13 UTC] 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 12:08 UTC] 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 12:14 UTC] tony2001@php.net
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.)
 [2006-09-19 12:27 UTC] fjortiz at comunet dot es
I can't really make my current example work without using at least COM for ADODB connectivity, so I'll try directly to forge some other sample code that reproduces the crash. Give me some days though, I have some work to release this week and I'm very low on time. I'll try to give you feedback ASAP.
 [2006-09-27 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 16:01:28 2024 UTC