Edit report at https://bugs.php.net/bug.php?id=53140&edit=1
ID: 53140
Comment by: johnphayes at gmail dot com
Reported by: jeyb88 at gmail dot com
Summary: PHP-CGI (FastCGI IIS) crashes when creating DOTNET
instance every second time
Status: Open
Type: Bug
Package: COM related
Operating System: XP, Vista, Win 7,Win Server 2008
PHP Version: 5.3.3
Block user comment: N
Private report: N
New Comment:
You may be able to fix this issue by recompiling PHP with the
void php_com_dotnet_mshutdown()
defined in /ext/com_dotnet/com_dotnet.c. IIRC the problem was that that
function
was removed in this revision:
http://svn.php.net/viewvc/php/php-src/trunk/ext/com_dotnet/com_dotnet.c?
r1=137794&r2=146718.
So if you can download the latest source, put that function back into
com_dotnet.c, and recompile you should be good to go.
Previous Comments:
------------------------------------------------------------------------
[2013-01-08 09:35:22] xandra_18ro at yahoo dot com
Is there a hotfix for this problem? Or a workaround perhaps.
thanks!
------------------------------------------------------------------------
[2012-03-26 16:18:30] andrew dot king at simail dot co dot uk
I can confirm that this problem also exists on PHP 5.3.2 on Windows Server 2003
32-bit with IIS running FastCGI. Problem also occurs on WAMP server, Windows 7
64-bit running PHP 5.3.8, Apache 2.2.21 with PHP loaded as a module, not CGI.
------------------------------------------------------------------------
[2011-08-24 17:02:08] johnphayes at gmail dot com
Here is the Application Event log entry in Windows Server 2003 when this crash
occurs in my test case above:
Source: .NET Runtime 2.0 Error
Description:
Faulting application httpd.exe, version 2.2.19.0, stamp 4dd6eda8, faulting
module
php5ts.dll, version 5.2.17.17, stamp 4d25fb49, debug? 0, fault address
0x000ea66d.
This source is a little odd, because I have .NET 4.0 Runtime installed. Note
that although I have PHP 5.2.17 installed at the moment, I have experienced
this
with 5.3 as well.
------------------------------------------------------------------------
[2011-08-24 16:23:21] johnphayes at gmail dot com
Can this bug's summary be edited to remove "(FastCGI IIS)?" My comment above
shows
that it can be reproduced under Apache as an Apache handler as well.
------------------------------------------------------------------------
[2011-08-24 16:18:58] johnphayes at gmail dot com
This error only appears to happen when the offending code is run from a web
server. If I run the offending code directly from the CLI, php never crashes.
If
I run the same code through Apache (via a cURL request), Apache crashes every
other time. My configuration is:
* Windows Server 2003 R2
* Apache 2.2
* PHP 5.3 configured as an Apache handler, not under FastCGI (see
http://www.php.net/manual/en/install.windows.apache2.php)
* The following 2 files:
----------
<?php
// testCrash.php - file #1
$stack = new DOTNET("mscorlib", "System.Collections.Stack");
echo "success";
?>
----------
<?php
// testCrashClient.php - file #2
$endPoint = 'http://localhost/testCrash.php';
$client = curl_init();
curl_setopt_array($client, array(
CURLOPT_FRESH_CONNECT => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_URL => $endPoint
));
$response = curl_exec($client);
curl_close($client);
var_dump($response);
echo 'done';
?>
----------
Use case #1 - run locally, we get no crash:
Steps:
1. Open command prompt
2. Execute:
php.exe testCrash.php
3. Observe that we get the expected resulting output:
success
4. Repeat step 2. Expected result will always be obtained.
Use case #2 - run through the web server, we get the crash:
Steps:
1. Open command prompt
2. Execute:
php.exe testCrashClient.php
3. Observe that we get the expected resulting output:
string(7) "success"
done
4. Repeat step 2.
5. Now observe that we get an error:
bool(false)
done
6. Repeat step 2.
7. Expected successful output is obtained again.
Repeating step 2 will cause the crash every other time. When the crash occurs,
apache's error log gets:
----------
[Wed Aug 24 12:13:25 2011] [notice] Parent: child process exited with status 0 -
- Restarting.
[Wed Aug 24 12:13:25 2011] [notice] Apache/2.2.19 (Win32) PHP/5.2.17 configured
-- resuming normal operations
[Wed Aug 24 12:13:25 2011] [notice] Server built: May 20 2011 17:39:35
[Wed Aug 24 12:13:25 2011] [notice] Parent: Created child process 2624
[Wed Aug 24 12:13:26 2011] [notice] Child 2624: Child process is running
[Wed Aug 24 12:13:26 2011] [notice] Child 2624: Acquired the start mutex.
[Wed Aug 24 12:13:26 2011] [notice] Child 2624: Starting 64 worker threads.
[Wed Aug 24 12:13:26 2011] [notice] Child 2624: Starting thread to listen on
port 80.
----------
------------------------------------------------------------------------
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=53140
--
Edit this bug report at https://bugs.php.net/bug.php?id=53140&edit=1