ID:               25570
 Updated by:       [EMAIL PROTECTED]
 Reported By:      robert at profundis dot se
-Status:           Open
+Status:           Feedback
 Bug Type:         Apache2 related
 Operating System: WinXP SP1
 PHP Version:      5CVS-2004-04-22 (dev)
 Assigned To:      jorton
 New Comment:

If you test the patch (it should apply to 4.3.x just the same) and tell
me it works, yes!


Previous Comments:
------------------------------------------------------------------------

[2004-10-21 11:00:05] robert at profundis dot se

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.

------------------------------------------------------------------------

[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.

------------------------------------------------------------------------

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

Reply via email to