#32521 [NEW]: apache2handler accidental crashes caused by SPL
| From: | su1d at phpclub dot net | Date: | Thu, 31 Mar 2005 17:05:27 +0000 |
| Subject: | #32521 [NEW]: apache2handler accidental crashes caused by SPL | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-76121@lists.php.net to get a copy of this message | ||
From: su1d at phpclub dot net
Operating system: Win32
PHP version: 5CVS-2005-03-31 (dev)
PHP Bug Type: Reproducible crash
Bug description: apache2handler accidental crashes caused by SPL
Description:
------------
OS: Windows XP Pro (SP1, Eng)
PHP: 5.1-dev
Apache: 2.0.53
When PHP is installed as Apache's module, the web server sometimes
segfaults accidentally.
The call stack backtrace is the following:
php5ts.dll!_estrdup(const char * s=0x00d4b8d8) Line 400 + 0xf bytes C
php5ts.dll!zm_activate_spl(int type=11, int module_number=18392672, void *
* * tsrm_ls=0x00d4b8a8) Line 510 + 0x19 bytes C
php5ts.dll!module_registry_request_startup(_zend_module_entry *
module=0x0118a660, void * * * tsrm_ls=0x0533fe10) Line 1543 + 0x10
bytes C
php5ts.dll!zend_hash_apply(_hashtable * ht=0x007061c0, int (void *, void *
* *)* apply_func=0x0118a660, void * * * tsrm_ls=0x007d9f0a) Line 664 + 0x7
bytes C
php5ts.dll!zend_activate_modules(void * * * tsrm_ls=0x0118a660) Line 793
+ 0x14 bytes C
php5ts.dll!php_request_startup(void * * * tsrm_ls=0x0118a660) Line
1058 C
php5apache2.dll!php_handler(request_rec * r=0x0065ef40) Line 534 + 0x8
bytes C
[...]
Obviously, the crash occurs directly in Zend/zend_alloc.c:400 inside of
the function _estrdup() which is in turn called from
ext/spl/php_spl.c:510.
That seems to be a Windows specific behaviour,
so a tiny patch is being proposed to fix the problem.
The patch could be downloaded from
http://tmp.e-taller.net/php_spl.c-win32.patch
Reproduce code:
---------------
Any PHP application,
i.e. entering to phpMyAdmin always leads to a crash.
Expected result:
----------------
no segfaults
Actual result:
--------------
*oops*
--
Edit bug report at http://bugs.php.net/?id=32521&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=32521&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=32521&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=32521&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=32521&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=32521&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=32521&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=32521&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=32521&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32521&r=support
Expected behavior: http://bugs.php.net/fix.php?id=32521&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=32521&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=32521&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=32521&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=32521&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=32521&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=32521&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32521&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=32521&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=32521&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=32521&r=mysqlcfg