ID: 42401 Comment by: matthew dot horner at redprairie dot com Reported By: reprovol at microsoft dot com Status: No Feedback Bug Type: Reproducible crash Operating System: Windows Vista/LH Server PHP Version: 5.2.3 New Comment:
I am able to reproduce this issue as others have seen. If you simply run the following script, the error should reproduce itself. <?php phpinfo(); ?> 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 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. >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, the section of this log shows a lock being held. -------------------------------------------------------------- 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 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-46f1-b24d-f60151d875a3&DisplayLang=en If you would like the complete log of the crash as reported by DebugDiag tool, I would 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 Previous Comments: ------------------------------------------------------------------------ [2008-01-10 14:01:15] ambition at ambitiondesign dot com dot au To reproduce, run any PHP code using the IIS ISAPI extension, then stop and start the IIS app pool. An error message dialog will appear, and information will be added to the Microsoft Windows Application Event Log. ------------------------------------------------------------------------ [2007-08-31 01:00:01] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2007-08-23 19:29:12] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2007-08-23 19:23:22] reprovol at microsoft dot com Description: ------------ Crash Bucket: 421917130 szAppName w3wp.exe szAppVer 7.0.6001.16510 szModName StackHash_80ba szModVer 6.0.6001.16510 Offset 000a773f Exception Code c0000374 Application Stamp 462598ef Module Stamp 4625a0ae 0:014> !heap ************************************************************** * * * HEAP ERROR DETECTED * * * ************************************************************** Details: Error address: 02ebc1d8 Heap handle: 00850000 Error type heap_failure_block_not_busy (8) Stack trace: 77ad01f8: ntdll!RtlFreeHeap+0x00000060 75f22a89: kernel32!HeapFree+0x00000014 76659fbb: msvcrt!free+0x000000cd 025a9cfe: php5ts+0x00099cfe 77ac631c: ntdll!zzz_AsmCodeRange_End 77ab42bd: ntdll!LdrpUnloadDll+0x000003d4 77aafeff: ntdll!LdrUnloadDll+0x00000046 75eb2563: kernel32!FreeLibrary+0x00000076 748ecaa0: isapi!ISAPI_DLL::Unload+0x00000038 <snip> 0:014> lmvmphp5ts start end module name 02510000 029e7000 php5ts T (no symbols) Loaded symbol image file: php5ts.dll Image path: php5ts.dll Image name: php5ts.dll Timestamp: Thu May 31 06:37:03 2007 (465ECF7F) CheckSum: 00000000 ImageSize: 004D7000 File version: 5.2.3.3 Product version: 5.2.3.0 File flags: 0 (Mask 3F) File OS: 4 Unknown Win32 File type: 2.0 Dll File date: 00000000.00000000 Translations: 0000.04b0 0000.04e0 0409.04b0 0409.04e0 Sorry 0:014> u 025a9cfe php5ts+0x99cfe: 025a9cfe ?? ??? Actual result: -------------- 77ad01f8: ntdll!RtlFreeHeap+0x00000060 75f22a89: kernel32!HeapFree+0x00000014 76659fbb: msvcrt!free+0x000000cd 025a9cfe: php5ts+0x00099cfe 77ac631c: ntdll!zzz_AsmCodeRange_End 77ab42bd: ntdll!LdrpUnloadDll+0x000003d4 77aafeff: ntdll!LdrUnloadDll+0x00000046 75eb2563: kernel32!FreeLibrary+0x00000076 748ecaa0: isapi!ISAPI_DLL::Unload+0x00000038 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=42401&edit=1