Edit report at https://bugs.php.net/bug.php?id=32099&edit=1

 ID:                 32099
 Comment by:         mike at edcsi dot com
 Reported by:        terryoh at wins21 dot com
 Summary:            After opening ADO connection and closing it
                     repeatedly, Apache stops service
 Status:             Assigned
 Type:               Bug
 Package:            COM related
 Operating System:   win32
 PHP Version:        5CVS, 4CVS (2005-02-28)
 Assigned To:        pajoye
 Block user comment: N
 Private report:     N

 New Comment:

Has this patch been included in the latest PHP builds? I am running on Windows 
2003 server and have experienced the same problem.


Previous Comments:
------------------------------------------------------------------------
[2011-04-23 01:20:41] thangaraj at gmail dot com

I faced a similar crash in my App, fixed the COM issue and was trying to post 
it as a new bug, somehow PHP bug system smartly pointed out this defect. Tested 
my fix on the sample script and PHP doesn't crash. Therefore uploading patch 
here.

This crash is reproducible in old and latest SVN builds too.


OS          : WindowsServer 2003 R2 EE SP2 x86
PHP Version : 5.3.6 NTS build or below in fast cgi mode.
Web Server  : Apache 2.2.16 / mod_fcgid 2.3.5
DBMS        : MSSQL 2005 Enterprise Edition 
OTHERS      : MDAC 2.8

Root Cause: 
~~~~~~~~~~~
When PHP fastcgi engine Initializes and Shuts down ADO COM objects fastly 
within a second, Crash happens, i.e., Comsvcs.dll PingThread method access 
violates and crashes php-cgi.exe 

Patch provided: 
~~~~~~~~~~~~~~~
PHP non Thread safe builds using "fast cgi mode" is made to cache COM CoInit 
call and release COM subsystem only during php-cgi.exe process shutdown. 
By not calling CoUnint during every request shutdown, Comsvcs.dll is not 
unloaded and PingThread method does not access violate. Note that MS recommends 
to use CoUnint API during process shutdown, and this patch does it.

[PATCH uploaded] 
~~~~~~~~~~~~~~~~
DIFF of 5.3SVN-2011-04-22
Patch_for_PhpCrashInFCGIModeDuringCoUnintialzie.diff

-Thanga

------------------------------------------------------------------------
[2005-03-19 00:08:01] sni...@php.net

We don't know a solution, sorry.


------------------------------------------------------------------------
[2005-03-02 09:43:22] terryoh at wins21 dot com

In my test, PHP 5 has same problem.

I really want to know the solution, please..

------------------------------------------------------------------------
[2005-03-02 08:23:50] sni...@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip

This is PHP 5 snapshot which has better COM support.


------------------------------------------------------------------------
[2005-02-28 02:43:18] terryoh at wins21 dot com

I downloaded the latest php.
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

After upgrading the php module, I tried the same test. But the result was same. 
Memory and the count of the handles were increased. After the 
session.gc_maxlifetime(php.ini), the result was same.

[Presumption]
I read something about zend engine on a webpage(I can't remeber the web address 
exactly), it is that the zend engine doesn't release database connection to 
reuse exceptionally. It might be this process causes trouble between ADO and 
Zend engine.

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


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

    https://bugs.php.net/bug.php?id=32099


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

Reply via email to