Bug #61577 [Com]: php5ts.dll crashes when specific extensions are loaded

From: Date: Tue, 17 Apr 2012 19:57:38 +0000
Subject: Bug #61577 [Com]: php5ts.dll crashes when specific extensions are loaded
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-169690@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=61577&edit=1

 ID:                 61577
 Comment by:         george dot gruber at emailourfamily dot com
 Reported by:        uniflare at gmail dot com
 Summary:            php5ts.dll crashes when specific extensions are
                     loaded
 Status:             Assigned
 Type:               Bug
 Package:            Reproducible crash
 Operating System:   Windows7 Ultimate x86
 PHP Version:        5.4.0
 Assigned To:        mattficken
 Block user comment: N
 Private report:     N

 New Comment:

I experiencing the same crash on two different Windows 7 Ultimate x64 machines.  Apache and PHP come
up and run fine and occasionally I get the message in error.log:
[mpm_winnt:notice] [pid 2200:tid 512] AH00428: Parent: child process exited with status 255 --
Restarting.

At nearly the same time there are three entries in to the application event log indicating the same
error reported in bug:
Faulting application name: httpd.exe, version: 2.4.2.0, time stamp: 0x4f7ed6c4
Faulting module name: php5ts.dll, version: 5.4.0.0, time stamp: 0x4f4e7f05
Exception code: 0xc0000005
Fault offset: 0x0004c563
Faulting process id: 0x3870
Faulting application start time: 0x01cd1cb269ad9f3a
Faulting application path: C:\Apache24\bin\httpd.exe
Faulting module path: C:\PHP5\php5ts.dll

I have removed as many extensions as possible that still allows the system to run properly.  I had
even gone as far as to remove php_mbstring and it didn't change the results.  Having removed
some of the other extensions seem to reduce it but this is not definitive.  This is the list of what
I had removed just for reference:
php_gettext
php_ldap
php_pdo_mysql
php_pgsql
php_soap
php_sockets
php_tidy
php_xsl

I had verified that nothing required them although if that was the case you would think that they
wouldn't be doing anything to cause an error.

Interestingly enough as far as I can tell the pages are rendered properly and that the only
indication of any problem is the error.log (Apache) and Windows events.

I am running PHP 5.4.0 and Apache 2.4.2 (ApacheLounge including php5apache2_4.dll) and MySQL 5.6.5m8
on Windows 7 Ultimate x64 with SP1.

I have my own log file pertaining to processing of the pages and some functions (MySQL requests are
always captured) and I am trying to correlate the "crash" to a particular event but so far
nothing specific.

It is somewhat disconcerting and I do not know if there are any side issues being created by this
occurring.  If anyone would like additional information please let me know and I would be happy to
submit it.


Previous Comments:
------------------------------------------------------------------------
[2012-04-15 12:34:16] pajoye@php.net

no, it does not.

------------------------------------------------------------------------
[2012-04-15 12:29:17] o6asan at yahoo dot de

I have still the issue.

I feel that the number of crushes is increasing on my server.

I compared PHP5.4.0 to PHP5.4.0RC8. I found A difference in the configure command options. Like
this.

5.4.0
configure.js "--enable-snapshot-build" "--disable-isapi"
"--enable-debug-pack" "--disable-nsapi"

5.4.0RC8
configure.js "--enable-snapshot-build" "--disable-isapi"
"--enable-debug-pack" "--disable-isapi"

Does it have any effects on this issue?

------------------------------------------------------------------------
[2012-04-12 19:55:43] uniflare at gmail dot com

@pajoye at php dotnet

REVELATION: Please see below, I seem to have solved my problem;
===========================
Ill explain what you asked for anyway.

Tried these configurations (all other extensions disabled, default php.ini).
-- 1
;extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_gd2.dll

-- 2
extension=php_mbstring.dll
;extension=php_bz2.dll
extension=php_gd2.dll

-- 3
extension=php_mbstring.dll
extension=php_bz2.dll
;extension=php_gd2.dll.

These above all work fine.
----------
But this does not work in 5.4.0:

extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_gd2.dll
-----------
DLL Versions--
Default ext files from http://windows.php.net/downloads/releases/php-5.4.0-Win32-VC9-x86.zip
File versions all report: 5.4.0.0 / Mod@ 29/02/12 19:39
===========================
Note;

Using the RC8 Version I have done some more testing and it appears there is something happening once
php has parsed the file.
I have this code in a file:

<?php phpinfo(); ?>

If I stop the browser from continuing to load the page it gives me the entire phpinfo output with
the 3 modules apparently enabled. 
Although event viewer still reports a crash.

Apache error log has nothing about this error, neither does php error log (php_startup etc variables
enabled ofc).
===========================
Revelation!?;

Now back with 5.4.0 Official, re-ran phpinfo.php with all 3 ext enabled and now it shows the page
properly with NO CRASH.... Strangely fixed!?

All versions now working;
Apache 2.4.1/Apache2.2.17 + PHP 5.4.0/PHP 5.3.10
----------------
Following Ext enabled on working 5.4.0 Offical:

extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_gd2.dll
extension=php_curl.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_sqlite3.dll
extension=php_fileinfo.dll
extension=php_gettext.dll
extension=php_intl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_sockets.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_exif.dll

Only the 3 ext causing issues were enabled in RC8 dir.

This is extremely puzzling. Steps I took while testing:
Replace the official 5.4.0 dir with the RC8 5.4.0 dir, 
Restart and test error several times trying to stop processing of phpinfo page long enough to look. 
Re-replace 5.4.0RC8 dir to Official. 
Re-Test.. no Crash.. Fixed?
===========================
Testing RC8 Again..
phpinfo page loads and crashes once loaded. Everytime. (5/5).

Official Once again..
Everything works fine...

===========================

This leads me to believe RC8 has had some part in this.
Perhaps a remnant dynamic configuration with apache.
For now, I appear to have solved my problem. But I do
still believe there is some inherent instability with 
these 3 extensions even in the official build.

Thanks

------------------------------------------------------------------------
[2012-04-12 17:56:09] pajoye@php.net

You said "I removed some and it works", or something along this line... 

@matt, please follow that further. As in, load this 3 DLLs with the given versions 
and see if it works in the same configuration.

------------------------------------------------------------------------
[2012-04-12 17:20:10] uniflare at gmail dot com

@pajoye at php dot net

Are you unable to read the original bug report or something, the dll files in question were
mentioned in the description...

This should be looked into, it means you cannot use mbstring, curl and GD2 at the same time, which
is not good at all. They all serve a very useful purpose.
There is obviously some compatibility issue with these dll's.

If you cannot read the original bug report, then here;

php_mbstring.dll
php_gd2.dll
php_curl.dll

--
This is using a default setup as explained above on a system more than capable.
And trust me, I am by far no beginner in using PHP, compiling my own versions with custom extensions
etc. Trust me when i say, this should not be happening.

PHP5.3.10 has NO problems using all 3 extensions.
only PHP 5.4.0.

Thanks.

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


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=61577


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


Thread (19 messages)

« previous php.bugs (#169690) next »