#25570 [Fbk->Opn]: Some requests cause Apache to crash/restart
| From: | robert at profundis dot se | Date: | Thu, 21 Oct 2004 09:00:06 +0000 |
| Subject: | #25570 [Fbk->Opn]: Some requests cause Apache to crash/restart | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-67886@lists.php.net to get a copy of this message | ||
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] jorton@php.net
Fixing Version/OS/Summary...
------------------------------------------------------------------------
[2004-10-21 10:28:17] jorton@php.net
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] jorton@php.net
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