#25657 [Fbk->Opn]: instability : iis is reseted automatically frequently
| From: | info at xboot dot de | Date: | Fri, 26 Sep 2003 13:28:42 +0000 |
| Subject: | #25657 [Fbk->Opn]: instability : iis is reseted automatically frequently | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-48145@lists.php.net to get a copy of this message | ||
ID: 25657
User updated by: info at xboot dot de
Reported By: info at xboot dot de
-Status: Feedback
+Status: Open
Bug Type: IIS related
Operating System: windows 2003
PHP Version: 4.3.3
New Comment:
Not enough information? I posted a lot at
http://bugs.php.net/bug.php?id=24534.
What happens:
After upgrading Php 4.1 to
4.32 Php crashes erratic. The error occures 3 - 10 times a day. We use
the modules mysql, mssql, curl and gd.
I can't locate the reason of the crash - it is very strange. I can call
a Php Skript (it doesn't matter which script, error occures on several
scripts) several times and everything works fine. But suddenly the same
script causes the crash.
When error occures the following message is displayed on browser:
"Php has encountered an access violation at..."
In the event-log I found this:
A process serving application pool 'DefaultAppPool' terminated
unexpectly. The process id was '...'.
The process exit code was '0xc0000005'.
I've tried a lot: Installing Php on three different machines with a
clean OS (and different Php versions > 4.2), playing arround with
IIS-settings, enable and disable Zend-Optimizer.
We actually use the latest PHP Version (4.3.3, ISAPI) on Windows 2003
Standard Edition. Error is still present.
Microsoft gave me now the following informations:
===========================================================
Because PHP doesn't ship with debug symbols the information the
information we can see it very limited.
So what can we see:
(d40.a3c): Access violation - code c0000005 (!!! second chance !!!)
eax=ffffffff ebx=77f470fe ecx=783b398b edx=00000007 esi=02ecf928
edi=02ecf968
eip=01cf3e65 esp=02ecf91c ebp=02ecf970 iopl=0 nv up ei ng nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010286
*** WARNING: Unable to verify checksum for php4ts.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols
for php4ts.dll -
php4ts!php_request_startup+0x1b5:
01cf3e65 8b7c91fc mov edi,[ecx+edx*4-0x4] ds:0023:783b39a3=?????
0:019> kv
ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may
be wrong.
02ecf970 100044d0 77f470fe 00d99618 5a322b54
php4ts!php_request_startup+0x1b5
000003ff 00000000 00000000 00000000 00000000 php4isapi!DllMain+0x24b0
PHP crashes because it tries to reference unallocated memory (this
basically would rule out a hardware error).
This happens immediately after he ISAPI is loaded so I doubt that it is
related to a particular script
So looking at the first parameter passed php_request_startup it looks
like a pointer is passed in.
0:019> dc 77f470fe
77f470fe 783b398b f4850f04 3bfffffc ec850ffa .9;x.......;....
The derefenced value is then copied to the ecx register which seems to
be a pointer again and it already points to unreferenced memory.
The access violation actually happens after doing some pointer
arithmetic (taking the value of ecx and adding 7 DWORD's - 1 DWORD)
===========================================================
Is that enough information? Please tell me what I can do to get the
informations you need.
Previous Comments:
------------------------------------------------------------------------
[2003-09-25 10:55:40] sniper@php.net
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
------------------------------------------------------------------------
[2003-09-25 10:45:46] info at xboot dot de
Description:
------------
I posted my problems two months ago at bug report nr. 24534:
http://bugs.php.net/bug.php?id=24534
But I wasn't the original submitter so I opened a new report.
I actually use the latest version of PHP, but the problem still
exists.
The manufacturer of the server checked the hardware - says the hardware
is ok.
I used DebugIIS and was sending the dump to Microsoft. They say it is a
PHP problem - in no case IIS or hardware.
They gave me the following analysis:
Access violation - code c0000005 (!!! second chance !!!)
eax=ffffffff ebx=77f470fe ecx=783b398b edx=00000007 esi=02ecf928
edi=02ecf968
eip=01cf3e65 esp=02ecf91c ebp=02ecf970 iopl=0 nv up ei ng nz na
po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00010286
*** WARNING: Unable to verify checksum for php4ts.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols
for php4ts.dll -
php4ts!php_request_startup+1b5:
01cf3e65 8b7c91fc mov edi,[ecx+edx*4-0x4]
ds:0023:783b39a3=????????
0:019> kv
ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may
be wrong.
02ecf970 100044d0 77f470fe 00d99618 5a322b54
php4ts!php_request_startup+0x1b5
000003ff 00000000 00000000 00000000 00000000 php4isapi!DllMain+0x24b0
0:019> da 100044d0
100044d0 "PHP has encountered an Access Vi"
100044f0 "olation at %p"
Hope this will help you locate the error.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25657&edit=1