php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38435 PHP FastCGI dies with segmentation fault wgen the HTTP clients aborts the conn
Submitted: 2006-08-12 14:05 UTC Modified: 2006-08-22 01:00 UTC
Votes:1
Avg. Score:3.0 ± 0.0
Reproduced:0 of 1 (0.0%)
From: pts at fazekas dot hu Assigned: dmitry (profile)
Status: No Feedback Package: CGI/CLI related
PHP Version: 5.1.4 OS: Linux 2.6
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: pts at fazekas dot hu
New email:
PHP Version: OS:

 

 [2006-08-12 14:05 UTC] pts at fazekas dot hu
Description:
------------
The FastCGI process dies (SIGSEGV) when the HTTP client aborts the connection, but PHP wants to echo() more. The ignore_user_abort() state doesn't matter, PHP dies anyway. See the code below.

To reproduce it, run wget http://.../code_below.php, and abort wget with Ctrl-<C>. See the Apache error log for the error message.

I think this is a serious bug that prevents normal use of PHP FastCGI.

Reproduce code:
---------------
<?php
# PHP 5.1.4 and PHP 4.3.10 are both affected with Apache 1.3.33 + FastCGI
# vvv from Apache error log:
# [Sat Aug 12 15:50:40 2006] [warn] FastCGI: (dynamic) server "/foo/php-cgi" (pid 3279) terminated due to uncaught signal '11' (Segmentation fault)
# [Sat Aug 12 15:50:40 2006] [warn] FastCGI: (dynamic) server "/foo/php-cgi" restarted (pid 3284)
function foo() {
}
register_shutdown_function('foo');
ignore_user_abort(TRUE);
#ignore_user_abort(FALSE); # Dat: this doesn't help either
# phpinfo(); exit;
$A="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
$A.=$A; $A.=$A; $A.=$A; $A.=$A; $A.=$A; $A.=$A;
$str=".$A";
for ($I=1; $I<1000; $I++) {
  echo $str;
  #sleep(1); # this doesn't prevent the bug, only delays it
}


Expected result:
----------------
The PHP FastCGI process should continue running and wait for more requests.

Actual result:
--------------
The PHP FastCGI process dies with SIGSEGV (Segmentation fault, signal 11).

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-08-14 09:34 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-08-22 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-2025 The PHP Group
All rights reserved.
Last updated: Fri May 09 17:01:28 2025 UTC