#35650 [Opn->Fbk]: Extending Exception class causes random failures when multi-threaded
| From: | sniper@php.net | Date: | Mon, 12 Dec 2005 20:11:00 +0000 |
| Subject: | #35650 [Opn->Fbk]: Extending Exception class causes random failures when multi-threaded | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-90305@lists.php.net to get a copy of this message | ||
ID: 35650
Updated by: sniper@php.net
Reported By: chris at lodesys dot com
-Status: Open
+Status: Feedback
Bug Type: Reproducible crash
Operating System: Windows 2000
PHP Version: 5.1.1
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2005-12-12 21:09:31] chris at lodesys dot com
Description:
------------
When running 2 or more requests simultaneously on my 850 MHz laptop,
including "class MyException extends Exception{}" to a simple Hello
World script causes Apache to crash randomly.
The setup is a stand alone 850 MHz laptop running Windows 2000,
Apache/1.3.34, PHP/5.1.1, and Apache's JMeter. Apache is configured
with ThreadsPerChild = 50 and PHP loaded as a module (LoadModule
php5_module c:/php/php5apache.dll).
Launching Apache's JMeter, I accessed the test script using single or
multiple threads, no timing pauses, and enough loops to drive the CPU
load to 100% (e.g., 1 thread/600 loops, 2 threads/300 loops, and 30
threads/20 loops).
Reproduce code:
---------------
<?php
class MyException extends Exception {
}
print("Hello World\n");
?>
Expected result:
----------------
Script should run without problem when accessed using 1 or multiple
threads.
Actual result:
--------------
Running single threaded access, there were no problems. When accessed
using multiple threads, there were consistent random failures of
Apache. For example, usually see around 7 crashes while running 600
requests with 30 threads.
Dr. Watson reports them as Exception number: c0000005 (access
violation) or occasionally Exception number: 000006a6 ().
Removing "class MyException extends Exception{}" from the script
eliminated the multi-thread crashing problem. All thread settings (1,
2 & 30) would run to completion without problems.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35650&edit=1