#38111 [NoF->Fbk]: PHP crashes IIS worker process and application pool

From: Date: Fri, 06 Feb 2009 08:57:33 +0000
Subject: #38111 [NoF->Fbk]: PHP crashes IIS worker process and application pool
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-133565@lists.php.net to get a copy of this message
 ID:               38111
 Updated by:       pajoye@php.net
 Reported By:      svendavidh at hotmail dot com
-Status:           No Feedback
+Status:           Feedback
 Bug Type:         IIS related
 Operating System: Windows Server 2003 Std. Ed. R2
 PHP Version:      5.2.8
 Assigned To:      pajoye
 New Comment:

As I can't reproduce it this bug, I wonder why you insist to use the
ISAPI? There is now a fastcgi interface for II5/6/7 and it works _way_
better than the ISAPI.

Does the crash happen too when you use a simple script (say phpinfo())
and using the same procedure?


Previous Comments:
------------------------------------------------------------------------

[2009-02-05 07:24:04] sikle at stx dot net

yep, this is definitely a vista/php/isapi problem. It happens so
frequently that I think a fix would really help!

------------------------------------------------------------------------

[2009-02-03 21:19:57] tser at deltacontrols dot com

I have updated the bug with backtrace and have contacted the assigned
developer directly (and convinced him that there is no extension
involved in the crash).

However, since I am not the originator, I cannot change the Status.
Please change the status.
Thanks!

------------------------------------------------------------------------

[2009-01-26 23:37:29] tser at deltacontrols dot com

PHP 5.2.8 (with no extension)
ISAPI on IIS7 Vista 64 (using a 32 Application Pool)
Just run phpinfo(); and the recycle the Application Pool

Backtrace

 	ntdll.dll!_DbgBreakPoint@0() 	
 	ntdll.dll!_RtlReportCriticalFailure@8()  + 0x2e bytes	
 	ntdll.dll!_RtlpReportHeapFailure@4()  + 0x21 bytes	
 	ntdll.dll!_RtlpLogHeapFailure@24()  + 0xab bytes	
 	ntdll.dll!_RtlFreeHeap@12()  + 0x2fb4e bytes	
 	kernel32.dll!_HeapFree@12()  + 0x14 bytes	
 	msvcrt.dll!_free()  + 0x39 bytes	
	php5ts.dll!zend_hash_graceful_reverse_destroy(_hashtable *
ht=0x00c68428)  Line 650 + 0x11 bytes	
 	php5ts.dll!zend_destroy_rsrc_list(_hashtable * ht=0x00c68428, void *
* * tsrm_ls=0x024906d8)  Line 239 + 0xa bytes	
 	php5ts.dll!executor_globals_dtor(_zend_executor_globals *
executor_globals=0x00c68298, void * * * tsrm_ls=0x024906d8)  Line 525 +
0x7 bytes
 	php5ts.dll!tsrm_shutdown()  Line 180 + 0x4 bytes	C
 	php5isapi.dll!DllMain(HINSTANCE__ * hinstDLL=0x00190000, unsigned
long fdwReason=0, void * lpvReserved=0x00000000)  Line 964	
 	php5isapi.dll!__DllMainCRTStartup@12()  + 0x50 bytes	
 	ntdll.dll!_LdrpCallInitRoutine@16()  + 0x14 bytes	
 	ntdll.dll!_LdrpUnloadDll@8()  + 0x4b1a bytes	
 	ntdll.dll!_LdrUnloadDll@4()  + 0x46 bytes	
 	kernel32.dll!_FreeLibrary@4()  + 0x19 bytes	
 	isapi.dll!ISAPI_DLL::Unload()  + 0x38 bytes	
 	isapi.dll!ISAPI_DLL::~ISAPI_DLL()  + 0x10 bytes	
 	isapi.dll!ISAPI_DLL::`scalar deleting destructor'()  + 0xd bytes	
 	isapi.dll!ISAPI_DLL::DereferenceIsapiDll()  + 0x37 bytes	
 	isapi.dll!ISAPI_DLL_HASH::AddRefRecord()  + 0x23 bytes	
 	iisutil.dll!CLKRLinearHashTable::_Clear()  + 0x6f bytes	
 	iisutil.dll!CLKRLinearHashTable::~CLKRLinearHashTable()  + 0x19
bytes	
 	iisutil.dll!CLKRLinearHashTable::`scalar deleting destructor'()  +
0xd bytes	
 	iisutil.dll!CLKRHashTable::_FreeSubTable()  + 0x13 bytes	
 	iisutil.dll!CLKRHashTable::~CLKRHashTable()  + 0x18 bytes	
 	isapi.dll!ISAPI_DLL_MANAGER::`scalar deleting destructor'()  + 0xe
bytes	
 	isapi.dll!TerminateIsapiModule()  + 0x16 bytes	
 	isapi.dll!CIISModuleFactory::Terminate()  + 0x14 bytes	
 	iiscore.dll!VIRTUAL_MODULE::~VIRTUAL_MODULE()  + 0x3e bytes	
 	iiscore.dll!VIRTUAL_MODULE::`scalar deleting destructor'()  + 0xd
bytes	
 	iiscore.dll!VIRTUAL_MODULE::DereferenceVirtualModule()  + 0x20
bytes	
 	iiscore.dll!MODULE_LIST::FreeModules()  + 0x21 bytes	
 	iiscore.dll!W3_SERVER::TerminateGlobalModules()  + 0x63 bytes	
 	iiscore.dll!W3_SERVER::Terminate()  + 0x157 bytes	
 	iiscore.dll!IISCORE_PROTOCOL_MANAGER::StopListenerChannel()  + 0x58
bytes	
 	w3wphost.dll!LISTENER_CHANNEL::HandleStopListenerChannel()  + 0x65
bytes	
 	w3wphost.dll!LISTENER_CHANNEL_STOP_WORKITEM::ExecuteWorkItem()  +
0x10 bytes	
 	w3wphost.dll!W3WP_HOST::ExecuteWorkItem()  + 0x10 bytes	
 	ntdll.dll!_RtlpTpWorkCallback@8()  - 0x2c9 bytes	
 	ntdll.dll!_TppWorkerThread@4()  - 0xbbc bytes	
 	kernel32.dll!@BaseThreadInitThunk@12()  + 0xe bytes	
 	ntdll.dll!___RtlUserThreadStart@8()  + 0x23 bytes	
 	ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes

------------------------------------------------------------------------

[2009-01-12 00:08:04] pajoye@php.net

"- Use FastCGI rather than ISAPI"

that's definitively the way to go :) 

------------------------------------------------------------------------

[2009-01-11 23:44:21] scott at datalink dot com dot au

To help people with this issue, I've scanned all the PHP bugs relating
to this issue and collated a list of workarounds:
- Add w3wp.exe to DEP exclusion list 
- Turn off process recycling
- Use FastCGI rather than ISAPI

To the PHP team - you guys are great and I love your work. I know you
haven't gotten the backtrace, but please don't mark this bug as bogus. 
The community is trying to get what you need and have been very patient
with this issue, but it appears to be difficult to get  because of the
way it crashes.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/38111

-- 
Edit this bug report at http://bugs.php.net/?id=38111&edit=1



Thread (69 messages)

« previous php.bugs (#133565) next »