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] pajoye@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!_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 :)
------------------------------------------------------------------------
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