ID: 38111 Comment by: tser at deltacontrols dot com Reported By: svendavidh at hotmail dot com Status: Feedback Bug Type: IIS related Operating System: Windows Server 2003 Std. Ed. R2 PHP Version: 5.2.8 Assigned To: pajoye New Comment:
Yes, a simple phpinfo and then restart IIS is all it need to crash. (Note: I am using IIS on Vista 64, and have to create a new Application Pool and then enable 32-bit application) As for why we stick with ISAPI: 1. We have an php extension for handling proprietary protocol and it has significant overhead on startup. We will try FastCGI, but in the meantime we keep in in ISAPI mode so that it won't get loaded and unloaded frequently. 2. FastCGI could be way better, but ISAPI is still a legitimate mode for PHP. So I am a bit surprise to see you persuade others to use FastCGI as a way to avoid this bug. Well of course, use Apache or Linux also "fix" this problem as well. BTW, FastCGI is an excellent idea to make PHP more stable. But I am worry it becomes a way to hide all the thread-safe, memory leak issues and allow them not being fixed properly. Previous Comments: ------------------------------------------------------------------------ [2009-02-06 08:57:32] paj...@php.net 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? ------------------------------------------------------------------------ [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!_dbgbreakpo...@0() ntdll.dll!_rtlreportcriticalfail...@8() + 0x2e bytes ntdll.dll!_rtlpreportheapfail...@4() + 0x21 bytes ntdll.dll!_rtlplogheapfail...@24() + 0xab bytes ntdll.dll!_rtlfreeh...@12() + 0x2fb4e bytes kernel32.dll!_heapf...@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!__dllmaincrtstar...@12() + 0x50 bytes ntdll.dll!_ldrpcallinitrout...@16() + 0x14 bytes ntdll.dll!_ldrpunload...@8() + 0x4b1a bytes ntdll.dll!_ldrunload...@4() + 0x46 bytes kernel32.dll!_freelibr...@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!_rtlptpworkcallb...@8() - 0x2c9 bytes ntdll.dll!_tppworkerthr...@4() - 0xbbc bytes kernel32.d...@basethreadinitthunk@12() + 0xe bytes ntdll.dll!___rtluserthreadst...@8() + 0x23 bytes ntdll.dll!__rtluserthreadst...@8() + 0x1b bytes ------------------------------------------------------------------------ [2009-01-12 00:08:04] paj...@php.net "- Use FastCGI rather than ISAPI" that's definitively the way to go :) ------------------------------------------------------------------------ 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