ID:               25570
 Comment by:       christopher_theunissen at hotmail dot com
 Reported By:      robert at profundis dot se
 Status:           Closed
 Bug Type:         Apache2 related
 Operating System: Windows XP Professional SP1
 PHP Version:      4.3.4-dev (20030917)
 New Comment:

This bug is definitely not fixed or has resurfaced, as I have the same
problem in Windows 2000 with Apache 2.0.52 (51, 40, 49, 48) and the
following PHP versions:
  5.0.2
  5.0.1
  4.3.9
  4.3.8
  4.3.4
  4.3.3

The server restarts with status 4294967295 every few hours.

It has been running fine for 24 hours so far with PHP 4.3.2.


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

[2003-09-18 20:43:21] [EMAIL PROTECTED]

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.



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

[2003-09-18 08:54:13] robert at profundis dot se

By changing three lines in
sapi/apache2handler/sapi_apache2.c, back to how they were in rev.
1.1.2.17, it would not crash anymore on overlapping requests. Ie:

// in 1.1.2.18
if (ap_pass_brigade(r->output_filters, brigade)
    != APR_SUCCESS || r->connection->aborted)

// in 1.1.2.17
if (ap_pass_brigade(r->output_filters, brigade)
    != APR_SUCCESS)

I cannot really guess what implications that change has, but I assume
the extra expression had a purpose. However, with this change I cannot
generate a crash anymore.

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

[2003-09-18 05:08:27] robert at profundis dot se

I did some debugging on my own, and concluded that if two requests
overlap, it will crash. I did some primitive logging in
apache2handler/sapi_apache2.c/php_handler(), and noticed that the last
function to be called was php_handle_aborted_connection(), then Apache
crashed and restarted. This was in cases where the second request
entered php_handler() before the first had left it.

While looking through changes of this source file in the CVS, I noticed
diff 1.1.2.17-18
(http://cvs.php.net/diff.php/php-src/sapi/apache2handler/sapi_apache2.c?login=2&r1=1.1.2.17&r2=1.1.2.18&ty=h)
which was commit just after 4.3.3RC2 (which doesn't crash). Could it
possibly be related? I do currently not have the ability to revert the
change and recompile, but I will do so later.

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

[2003-09-17 19:19:30] robert at profundis dot se

> Do you have output buffering enabled?

No. My tests has been with fresh/default installations of both Apache
and PHP.

I did now test to set output_buffering = On, in php.ini. phpinfo()
reports it to set to '1' (rather than 'On'). The problem remains, and
perhaps somewhat more frequent with this setting.

Any pointers as how to debug PHP under Windows are welcome, I haven't
been able to find any information about this.

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

[2003-09-17 18:57:40] [EMAIL PROTECTED]

Do you have output buffering enabled?

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

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