Bug #13324 Updated: Access violations / memory problems
| From: | mail-php dot net at kimihia dot org dot nz | Date: | Tue, 26 Mar 2002 22:43:47 +0000 |
| Subject: | Bug #13324 Updated: Access violations / memory problems | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-3426@lists.php.net to get a copy of this message | ||
ID: 13324
Updated by: mail-php.net@kimihia.org.nz
Reported By: txtilde@hotmail.com
Status: Open
Bug Type: IIS related
Operating System: Windows 2000 SP2
PHP Version: 4.0.6
New Comment:
I've reproduced this without Zend Optimizer.
Under heavy load (45 requests / second) I received a number of errors
about being unable to redeclare functions.
Under low load there were no complaints.
PHP 4.2.0 / IIS 5 / Windows 2000
Previous Comments:
------------------------------------------------------------------------
[2002-02-19 08:55:18] pthiebaud@labeltechnologies.com
Are you using Zendencoder? I have the same problem on a machine running
Zendoptimizer with some pages that were Zendencoded. The server crashed
every 20-30 request or so. I took off the pages Zendencoded and its
working fine now... Seems that the problem stands there...It is not the
Zendoptimizer, cause it is still in the php.ini and it works fine.
------------------------------------------------------------------------
[2001-09-15 20:50:27] txtilde@hotmail.com
After further investigation, this seems to be a hint to a higher IIS
threading problem rather than a problem specific to Zend Optimizer. If
I create a php page with the function getmicrotime() in it and then
call this page from 5 different browser windows at about the same time,
I receive the following error:
Fatal error: Cannot redeclare getmicrotime() in
C:\Websites\mysqlconnect.php on line 2
I've also confirmed that variables declared within the realm of the
script are also available to other browser sessions. For example,
creating a random number in a script and then executing a time
consuming for-loop will result in more than one window ending up with
the same random number.
------------------------------------------------------------------------
[2001-09-15 20:12:40] txtilde@hotmail.com
As a follow-up, with ZendOptimizer.dll uncommented in the php.ini
file:
Each IIS restart and request to the php webpage will result in a new
instance DLLHOST.exe being created in the Windows Task Manager. Older
DLLHost.exe instances are not released with IIS Reset.
------------------------------------------------------------------------
[2001-09-15 19:45:40] txtilde@hotmail.com
This is a fresh install of PHP 4.0.6 on a new install of Windows 2000
server with service pack 2. Zend Optimizer is installed and the site
is in Medium (pooled) mode. I am using the php4isapi.dll. There are
no other programs or services installed on this machine.
The code executing is a single pconnect request to a MYSQL server and
then a mysql_close() request. The code is not Zend optimized.
If I enable ZendOptimizer.dll in the php.ini and execute the code, it
operates fine. But if I reset the IIS service, the server returns the
following 2 errors randomly:
1) -2147417842 (0x8001010e)
2) Invalid access to memory location.
If I comment out the ZendOptimizer.dll in the PHP.ini file and then
restart the web service, operation resumes as normal.
I believe the IIS Web Service is not releasing the ZendOptimizer.dll
from memory and then trying to reload it when PHP is called. This may
be a hint to all the access violations every one is getting.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=13324&edit=1