ID: 25570 User updated by: robert at profundis dot se Reported By: robert at profundis dot se -Status: Feedback +Status: Open Bug Type: Apache2 related Operating System: WinXP SP1 PHP Version: 5CVS-2004-04-22 (dev) Assigned To: jorton New Comment:
Will the fix be applied to 4.x.x as well? I'm not really ready for the leap to v5 for production just yet. Previous Comments: ------------------------------------------------------------------------ [2004-10-21 10:48:20] [EMAIL PROTECTED] Fixing Version/OS/Summary... ------------------------------------------------------------------------ [2004-10-21 10:28:17] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip I've committed a possible fix for this to 5.0 and 5.1, please apply: http://cvs.apache.org/~jorton/php_abort.diff or wait for a 5.0-dev or 5.1-dev snapshot to show up with this applied. ------------------------------------------------------------------------ [2004-10-20 10:47:31] [EMAIL PROTECTED] Ah, good call. The interesting exit(-1) call is in Zend: _zend_bailout to be specific. And in fact zend_bailout is called from php_handle_aborted_connection, which can be called outside the zend_first_try/zend_end_try block in the 2.0 SAPI, so that looks like the bug. ------------------------------------------------------------------------ [2004-10-17 18:55:56] mwhitlock at whitsoftdev dot com Unsigned 4294967295 is the same as -1 in 32-bit two's complement signed math. It looks to me as if we're not encountering a segfault (since that would generate a different message in httpd.log) but rather an error trap somewhere that is calling exit(-1). Calling exit(..) from a dynamic link library kills the host process, which in this case would be the Apache child process. Seems like the solution is just finding where PHP is calling exit(-1) and changing it to somehow more gracefully aborting the request rather than forcefully exiting the process. Exiting the process wouldn't be a problem for the CLI since a separate process is created to handle every request, but as an Apache module, exit(..) is simply wrong. ------------------------------------------------------------------------ [2004-10-15 14:42:37] jonathan at schwarzelan dot de Sorry guys - got to correct the above said... With outputting results in the 4294967295 Crash - without it results to 3221225477 Apache crash shame on me... ------------------------------------------------------------------------ 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 http://bugs.php.net/25570 -- Edit this bug report at http://bugs.php.net/?id=25570&edit=1