ID: 44047
Comment by: nonya at spam dot this
Reported By: matthew dot horner at redprairie dot com
Status: Open
Bug Type: IIS related
Operating System: Windows Vista
PHP Version: 5.2.5
New Comment:
To elaborate on Matthew, (Every PHP5\Vista\IIS7 machine I have every
worked on does this; 20+ machines)
The same error can be achieved back-to-back simply by running any PHP,
which in turn will add 1 active application to the DefaultAppPool. This
is visible in the IIS7 Manager. You can select the DefaultAppPool and
click "Recycle...", wait 3-5 secs (because WerFault.exe kicks in,
Windows Error Reporting Service) and you have a "IIS Worker Process has
failed" message with the event in the windows event log the way Matt
described which says the fault came from c:\windows\system32\ntdll.dll
If the PHP dev guys are trying to recreate this issue, you need to be
using Latest PHP5/IIS7/ISAPI-Configuration/Vista
This has been going on since Vista RC1. Everyone who is not getting
this error may not be complaining because the error doesn't seem to do
major damage.
The closest thing to a resolution I have seen since the release of
Vista is to just adjust the timing of the automated recycle cycle.
Since the error is only occurring during recycling, they have been
scheduling 1 recycle per day, hence 1 crash per day.
There are many, many, many, MANY forums and support threads with people
having the same problem, they just aren't posting here.
Here are a few:
forums.techarena.in/showthread.php?t=686723
www.developersdex.com/asp/message.asp?p=592&r=6057007
www.issociate.de/board/post/468636/IIS_+_PHP_--_Worker_Process_alert_&_w3wp.exe_crash?.html
forums.techarena.in/showthread.php?t=821723
groups.google.com/group/comp.lang.php/browse_thread/thread/93aef1ff2f0ba3b0
www.thescripts.com/forum/thread742344.html
Previous Comments:
------------------------------------------------------------------------
[2008-02-05 16:17:54] matthew dot horner at redprairie dot com
I removed all extensions and re-tested with the same results.
------------------------------------------------------------------------
[2008-02-05 15:01:16] scottmac@php.net
Do you have any extensions loaded via php.ini or this is purely whats
statically built into PHP?
If you do have extensions can you disable them all and see if you can
reproduce the problem.
------------------------------------------------------------------------
[2008-02-05 14:17:23] matthew dot horner at redprairie dot com
I have tested with the latest and the crash is still occurring with the
exact same stack trace. The build date of the current installation is
Feb 5 2008 08:04:21.
------------------------------------------------------------------------
[2008-02-05 05:07:30] jani@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows (zip):
http://snaps.php.net/win32/php5.2-win32-latest.zip
For Windows (installer):
http://snaps.php.net/win32/php5.2-win32-installer-latest.msi
------------------------------------------------------------------------
[2008-02-04 23:42:22] matthew dot horner at redprairie dot com
Description:
------------
I am able to reproduce this issue as others have seen reported in other
bug reports with no solution. If you simply
run the following script, the error should reproduce itself.
I have done several different tests using IIS7 and have concluded that
there are no issues with PHP4 but 5.1.6 and 5.2.5 both cause the crash.
I am using Vista Businesss and confirmed with several other developers
in our organization the same issues with IIS7 on Vista. Those
reporting
this issue to our group reported that the problem was also seen but
not
limited to 5.2.3.
I have slightly altered my configuration of IIS to accelerate the
crash.
Using the IIS Manager, I clicked Application Pools, selected
DefaultAppPool and clicked Advanced Settings. In settings
configuration
screen, I changed the Idle Timeout (minutes) under Process Model to 1.
Do an iisreset, execute the example script above in the brower and
wait.
Within one minute you should see a message stating the 'IIS Worker
Process has stopped working.'
I downloaded the DebugDiag tool from
http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-4
6f1-b24d-f60151d875a3&DisplayLang=en
If you would like the complete log of the crash as reported by the
DebugDiag
tool, I would be more than happy to pass it along. If any assistance
is
required, please feel free to contact me and I will do everything I
can.
Thanks,
Matt
Reproduce code:
---------------
<?php
phpinfo();
?>
Expected result:
----------------
The phpinfo page, shows as expected. However, after the Idle Timeout
specified in IIS has been reached, a crash message is displayed. Expect
this message not be display after the offending code is fixed.
Actual result:
--------------
The crash results in the following:
---------------------------------------------------
In w3wp__PID__4852__Date__02_02_2008__Time_09_57_40AM__660__First
chance
exception 0XC0000374.dmp the assembly instruction at
ntdll!RtlReportCriticalFailure+5b in C:\Windows\System32\ntdll.dll
from
Microsoft Corporation has caused an unknown exception (0xc0000374) on
thread 11
From the DebugDiag tool, I have gathered a stack trace which
identifies
that faulting dll, php5ts.dll.
--------------------------------------------------------------
Function Arg 1 Arg 2 Arg 3 Source
ntdll!RtlReportCriticalFailure+5b c0000374 77d1cf50
01c1f838
ntdll!RtlpReportHeapFailure+21 00000002 01c1a15c 00000000
ntdll!RtlpLogHeapFailure+a1 00000008 00110000 037d7148
ntdll!RtlFreeHeap+60 00110000 00000000 037d7150
kernel32!HeapFree+14 00110000 00000000 037d7150
msvcrt!free+cd 037d7150 0143aa70 0313978a
php5ts!zend_hash_graceful_reverse_destroy+2e 10000000 00000000
00000000
ntdll!LdrpCallInitRoutine+14 1000263d 10000000 00000000
ntdll!LdrpUnloadDll+3ba 10000000 01c1fa28 01c1a32c
ntdll!LdrUnloadDll+46 10000000 027fffe4 01c1fa7c
kernel32!FreeLibrary+15 10000000 00000000 009b07c8
isapi!ISAPI_DLL::Unload+38 009b07c8 696aa82d 009b07c8
isapi!ISAPI_DLL::~ISAPI_DLL+10 009b07c8 01c1fa94 696aa93f
isapi!ISAPI_DLL::`scalar deleting destructor'+d 00000001
027fffc4 00f56578
isapi!ISAPI_DLL::DereferenceIsapiDll+37 01c1fac0 732a6bdc
009b07c8
isapi!ISAPI_DLL_HASH::AddRefRecord+23 009b07c8 ffffffff
00f56590
iisutil!CLKRLinearHashTable::_Clear+6f 00000000 00000003
00f56578
iisutil!CLKRLinearHashTable::~CLKRLinearHashTable+19 0011d898
01c1fae8 732a6e75
iisutil!CLKRLinearHashTable::`scalar deleting destructor'+d
00000001
01c1fb04 732a6fe4
iisutil!CLKRHashTable::_FreeSubTable+13 00f56578 01413938
0011d898
iisutil!CLKRHashTable::~CLKRHashTable+18 014052b0 01c1fb28
696aaee6
isapi!W3_RESTRICTION_LIST::`scalar deleting destructor'+e 00000001
696ab318 01437a90
isapi!TerminateIsapiModule+16 01437a90 72798822 01437a90
isapi!CIISModuleFactory::Terminate+14 01437a90 727988a6
01437a90
iiscore!VIRTUAL_MODULE::~VIRTUAL_MODULE+3e 01437a90 01c1fb70
72797755
iiscore!VIRTUAL_MODULE::`vector deleting destructor'+d 00000001
0000000e 727988e0
iiscore!VIRTUAL_MODULE::DereferenceVirtualModule+20 00000000
732a6cb0 01413758
iiscore!MODULE_LIST::FreeModules+21 01413bdc 01413758
7279a798
iiscore!W3_SERVER::TerminateGlobalModules+49 013f01fc 013f021c
013f01fc
iiscore!W3_SERVER::Terminate+120 01385578 727945c8 01c1fb90
iiscore!IISCORE_PROTOCOL_MANAGER::StopListenerChannel+58 01385584
01385578 00000000
w3wphost!LISTENER_CHANNEL::HandleStopListenerChannel+65 00000000
03778b48 73e83e43
w3wphost!LISTENER_CHANNEL_STOP_WORKITEM::ExecuteWorkItem+10
013eedd8
01c1fbd8 73ea2567
w3wphost!W3WP_HOST::ExecuteWorkItem+13 00000000 00000000
03778b58
w3tp!THREAD_POOL_DATA::ThreadPoolThread+73 00000000 01385680
73ea0000
w3tp!THREAD_POOL_DATA::ThreadPoolThread+24 013eedd8 00000000
00000000
w3tp!THREAD_MANAGER::ThreadManagerThread+39 01385680 01c1fc50
77c8a9bd
kernel32!BaseThreadInitThunk+e 01385680 01c1a534 00000000
ntdll!_RtlUserThreadStart+23 73ea1e3c 01385680 00000000
Additionally, a section of this log shows a lock being held. Not sure
how relevant this is to the actual issue.
--------------------------------------------------------------
Locked critical section report
Critical Section ntdll!LdrpLoaderLock
Lock State Locked
Lock Count 1
Recursion Count 1
Entry Count 0
Contention Count 6
Spin Count 0
Owner Thread 11
Owner Thread System ID 3192
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44047&edit=1