php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20383 PHP (php4apache2.dll) Crashes Apache under load
Submitted: 2002-11-12 03:19 UTC Modified: 2002-11-12 03:29 UTC
From: michael at shunra dot co dot il Assigned:
Status: Closed Package: Apache2 related
PHP Version: 4.2.3 OS: Windows 2000
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: michael at shunra dot co dot il
New email:
PHP Version: OS:

 

 [2002-11-12 03:19 UTC] michael at shunra dot co dot il
I have installed apache_2.0.43-win32-x86-no_ssl.msi (downloaded binary from http://nagoya.apache.org/dist/httpd/binaries/win32 directory) and php-4.2.3-installer.exe on Windows 2000 Professional.
I experienced a problem with Apache refusing to start when I tried to load the php4apache2.dll module.
After much searching, I got php4-win32-latest.zip from http://snaps.php.net/win32.
I am not sure what PHP build this is exactly, but using the module from this package, I got things up and running (I had to add ?ScriptAlias /php/ "C:/php/"? to get it working, even that the documentation does not require this for sapi).

However, when I started to load stress the site (2 users hitting at about 100 requests per second), the Apache service started crashing (You get a popup ?The instruction at ?0x77fcbaac? referenced memory at ?0x6d74682c?. The memory could not be ?read?.)
After the first access violation, the service keeps responding for a while, until it hangs up completely.
The problem persists, even if the php page does not contain any <?php ?> directives.
It does not occur for static .html files under the same conditions.

The crash is probably thread related. If I configure Apache2 to use only one worker thread, or load the server with just one concurrent request, the problem disappears.
I suspect that the crash occurs also under IIS5.0. I have tested it on IIS, and got some failed requests. I assume IIS catches the exception quietly.

P.S.
You must use some sort of Web loading tool, simply opening two browsers does not grantee the crash reproduction. I assume that in a real loaded website, the crash will also occur.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-12 03:29 UTC] edink@php.net
You cannot mix php4apache2.dll from the current cvs with php 4.2.3. You should either download php4-win32-STABLE-latest.zip and use dll from there, or use the whole cvs distribution contained in php4-win32-latest.zip (4.3.0-dev).

Please reopen if that doesn't solve your problem.


 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Feb 05 21:01:34 2025 UTC