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] [EMAIL PROTECTED]

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

Reply via email to