php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #61577 php5ts.dll crashes when specific extensions are loaded
Submitted: 2012-03-31 00:51 UTC Modified: 2013-10-15 11:54 UTC
Votes:67
Avg. Score:4.6 ± 0.8
Reproduced:60 of 61 (98.4%)
Same Version:44 (73.3%)
Same OS:24 (40.0%)
From: uniflare at gmail dot com Assigned: mattficken (profile)
Status: No Feedback Package: Reproducible crash
PHP Version: 5.4.0 OS: Windows7 Ultimate x86
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2012-03-31 00:51 UTC] uniflare at gmail dot com
Description:
------------
Seems to be able to reproduce a crash (php5ts, apache restarts).

When 3 modules are used in conjunction (if any of these modules are disabled it does not cause the problem).

php_mbstring.dll
php_gd2.dll
php_curl.dll

can produce other environment variablse as requested (php.ini/memory etc).

Test script:
---------------
N/A

Any script crashes that uses the php parser engine, even blank files.

Expected result:
----------------
No Crash,
Page Output Displayed

Actual result:
--------------
php5ts.dll crash in httpd.exe

Faulting application name: httpd.exe, version: 2.2.17.0, time stamp: 0x4cbc89f4
Faulting module name: php5ts.dll, version: 5.4.0.0, time stamp: 0x4f4e7f05
Exception code: 0xc0000005
Fault offset: 0x0005dd17
Faulting process id: 0x1110
Faulting application start time: 0x01cd0ed73ccd2719
Faulting application path: C:\web\bin\Apache2.2\bin\httpd.exe
Faulting module path: C:\web\bin\PHP5.4.0\php5ts.dll

firefox reports "The page was reset".
Apache restarts instantly.

Patches

php5ts.dll (last revision 2013-01-29 02:05 UTC by tranthanh098 at gmail dot com)

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2012-04-10 21:44 UTC] zane at zanezane dot net
I can confirm this bug with those 3 extensions.

Faulting application name: httpd.exe, version: 2.4.2.0, time stamp: 0x4f7ec1ab
Faulting module name: php5ts.dll, version: 5.4.0.0, time stamp: 0x4f4e7f05
Exception code: 0xc0000005
Fault offset: 0x0005dd57
Faulting process id: 0x2778
Faulting application start time: 0x01cd1760e7c863da
Faulting application path: D:\programs\Apache\bin\httpd.exe
Faulting module path: D:\Programs\Apache\PHP\php5ts.dll
Report Id: 2de7be7d-8354-11e1-9e6e-0002721fe92a

* Windows 7 x64
* PHP 5.4.0 TS from windows.php.net
* Apache 2.4.2 from Apache Lounge
* php5apache2_4.dll-php-5.4 from Apache Lounge


Disabling just one fixes the issue.
 [2012-04-11 05:34 UTC] pajoye@php.net
-Status: Open +Status: Feedback
 [2012-04-11 05:34 UTC] pajoye@php.net
@zane at zanezane dot net 

I do not think there is any crash but misconfigured install.

curl, mbstring and other need DLLs to run, if the dlls are not found, it will 
failed.

Which one did you remove or try? What says the error log?
 [2012-04-12 03:28 UTC] uniflare at gmail dot com
-Status: Feedback +Status: Open
 [2012-04-12 03:28 UTC] uniflare at gmail dot com
@pajoye at php dot net
In my instance, this occurs in Apache 2.2.x and 2.4.x with PHP 5.4.0 Official Release.

The 3 dll files will not work all at the same time. Try this and please tell me if you can get it to work.

Note* This is a PHP crash, rather than not being able to start the webserver. There are no errors in logs that I can see apart from this event log item we have both posted.

Thanks
 [2012-04-12 15:03 UTC] o6asan at yahoo dot de
I have the same issue with PHP 5.4.0 TS from windows.php.net.

About 3 dll files, I've used the same configuration in php.ini for years.

Until PHP 5.3.10 with Apache 2.2.22 from Apache Lounge, it worked very well.
For the first time, I had this issue when I updated to PHP 5.4.0.
It occurred very often at that time. I also tried Revision 323771. But, no luck.
So, I quit and waited for Apache 2.4 stable from Apache Lounge.
Because I thought new PHP and old Apache may not be compatible.

And now, PHP 5.4.0 with Apache 2.4.2 from Apache Lounge, I have the issue again.

I'm unfamiliar with PHP, but does something wrong exist in php5ts.dll ver. 5.4.0 ?

The size of ver. 5.3.10 is 5,910,528 bytes and 5.4.0 is 6,109,184 bytes.
From this, we can guess some changes were made to the new file.

This 24 hours, I have crashes 7 times. 3 of 7 occurred just after the message
"PHP Fatal error:  Maximum execution time of 30 seconds exceeded in ~".
Rest of 7 has no errors in logs.
And, after restarting Apache, the browser can display the requested page as if nothing happened.

The php5ts.dll ver. 5.4.0 has something wrong?
 [2012-04-12 15:07 UTC] pajoye@php.net
-Status: Open +Status: Feedback
 [2012-04-12 15:07 UTC] pajoye@php.net
@uniflare at gmail dot com

Tell me which DLLs you are referring to.

Without that, there is zero chance that I can even remotely going to test it.
 [2012-04-12 16:55 UTC] jmquarck at gmail dot com
Using Windows 7 Ultimate 64 bits with PHP 5.4 and Apache 2.4 or Apache 2.2

http://localhost     OK

http://localhost/phpinfo.php    crashes and changes url to www.localhost.com/phpinfo.php

It happens even if mbstring, curl and g2 extensions are disabled.
 [2012-04-12 17:20 UTC] uniflare at gmail dot com
-Status: Feedback +Status: Open
 [2012-04-12 17:20 UTC] 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.
 [2012-04-12 17:56 UTC] pajoye@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: mattficken
 [2012-04-12 17:56 UTC] 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 19:55 UTC] 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-15 12:29 UTC] 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-15 12:34 UTC] pajoye@php.net
no, it does not.
 [2012-04-17 19:57 UTC] george dot gruber at emailourfamily dot com
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.
 [2012-05-04 12:44 UTC] george dot gruber at emailourfamily dot com
A new note to this issue.  I have updated PHP to 5.4.1 and Apache from ApacheLounge to the 32-bit, openSSL 0.9.8v version and the problem still exists.  I was hoping the PHP 5.4.1 would resolve the issue.
 [2012-05-04 14:56 UTC] zane at zanezane dot net
For me, problem is fixed since 5.4.1.

I tried seconds ago with 5.4.2 and is still ok.
 [2013-08-26 09:34 UTC] pirabid at gmail dot com
I have the same problem on windows 7 (64-bit) using PHP 5.4.0

Apache crashes if I use the following two extension parallely:
extension=php_curl.dll
extension=php_gd2.dll

If I comment any one of these, Apache works okay.

Please fix this.
 [2013-08-26 10:08 UTC] pajoye@php.net
-Status: Assigned +Status: Feedback
 [2013-08-26 10:08 UTC] pajoye@php.net
try under CLI and see what is the actual error is, I very much doubt there is 
actually a crash but missing DLLs in the path.
 [2013-08-26 21:55 UTC] mattficken@php.net
You may have DLLs mixed up from a different PHP version. 

Instead, download the 5.4.19-ts ZIP file from windows.php.net/downloads and decompress it to c:\php-sdk\php-5.4.19-win32-vc9-x86

When reconfiguring Apache and your PHP.ini make sure that extension_dir=c:\php-sdk\php-5.4.19-win32-vc9-x86\ext


If that still fails, run php on command line without an INI file in case its loading extensions from the INI file or registry. Run this command:
`php -n -d extension_dir=c:\php-sdk\php-5.4.19-win32-vc9-ext\ext -d extension=php_gd2.dll -d extension=php_curl.dll -d extension=php_mbstring.dll`

Send us the output from that.

Is this ApacheLounge-2.4.2-OpenSSL-0.9.8-VC9? If you're able to run phpinfo() but nothing else, send the output of that. If you're only able to run phpinfo() if you disable one of those extensions, do that too, so we can see what's going on.

Also, run `systeminfo` on command line and send us the output.
 [2013-10-15 11:54 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Tue Jan 26 10:01:23 2021 UTC