Edit report at https://bugs.php.net/bug.php?id=72729&edit=1
ID: 72729
Comment by: caaguado at xcentra dot com
Reported by: caaguado at xcentra dot com
Summary: php-cgi.exe/php_mbstring.dll crash Exception
0xc0000005 Fault offset 0x00026831
Status: Feedback
Type: Bug
Package: mbstring related
Operating System: Windows 10 64bit, Windows 7 64bi
PHP Version: 7.1.0beta1
Block user comment: N
Private report: N
New Comment:
Hi ab, today I made a new attempt of getting the backtrace, this time on my Windows 10 physical
machine (the previously provided backtrace was on Windows 7).
Not it has got even funnier:
- Nginx doesn't fail.
- Apache 2.4+PHP 7.1.0beta2 doesn't generate the crash anymore (not on W10 nor W7).
- Instead, Apache 2.4 generates a "500 Internal Server Error" exactly in the same
way that I previously reported on PHP Bug Report #72623 (https://bugs.php.net/bug.php?id=72623) on
Zend Opcache, that is, two errors appear in PHP's error log without crash:
C:\windows\\ZendOPcache.MemoryBase@username@ebb01bc871f86edbf8d30553fa596f12
Access is denied.
and
Unable to write base address
Access is denied.
It seems clear that the changes in mbstring included in PHP 7.1.0beta2 have influenced this symptoms
(mbstring crash versus Zend Opcache errors for C:\windows\\ZendOPcache.MemoryBase writting problem).
What shall we do then? Shall we wait for the next beta? Kindly let me know your thoughts.
Thanks, Carlos.
Previous Comments:
------------------------------------------------------------------------
[2016-08-10 15:44:02] caaguado at xcentra dot com
Hi @ab,
You can reproduce it by using Apache Lounge's Apache 2.4.23 binaries available here:
http://www.apachelounge.com/download/VC14/binaries/httpd-2.4.23-win32-VC14.zip
It requires Microsoft Visual C++ 2015 (v14.0) Redistributable Package Update 3:
https://www.microsoft.com/en-us/download/details.aspx?id=52982
... and PHP 7.1.0beta2 binaries available here:
http://windows.php.net/qa/
You can use the Apache 2.4.23 configuration file I included in this bug report (only adapting the
paths configured into the file to match the actual folders you would use in your system). Here it is
again for your convenience:
---------------------------------------------------------------------------
ServerRoot "S:\xtack"
PidFile "S:\xtack\logs\apache24.pid"
Listen 80
LoadModule access_compat_module S:\xtack\bin\a24\modules\mod_access_compat.so
LoadModule actions_module S:\xtack\bin\a24\modules\mod_actions.so
LoadModule alias_module S:\xtack\bin\a24\modules\mod_alias.so
LoadModule allowmethods_module S:\xtack\bin\a24\modules\mod_allowmethods.so
LoadModule asis_module S:\xtack\bin\a24\modules\mod_asis.so
LoadModule auth_basic_module S:\xtack\bin\a24\modules\mod_auth_basic.so
LoadModule authn_core_module S:\xtack\bin\a24\modules\mod_authn_core.so
LoadModule authn_file_module S:\xtack\bin\a24\modules\mod_authn_file.so
LoadModule authz_core_module S:\xtack\bin\a24\modules\mod_authz_core.so
LoadModule authz_groupfile_module S:\xtack\bin\a24\modules\mod_authz_groupfile.so
LoadModule authz_host_module S:\xtack\bin\a24\modules\mod_authz_host.so
LoadModule authz_user_module S:\xtack\bin\a24\modules\mod_authz_user.so
LoadModule autoindex_module S:\xtack\bin\a24\modules\mod_autoindex.so
LoadModule cgi_module S:\xtack\bin\a24\modules\mod_cgi.so
LoadModule dir_module S:\xtack\bin\a24\modules\mod_dir.so
LoadModule env_module S:\xtack\bin\a24\modules\mod_env.so
LoadModule include_module S:\xtack\bin\a24\modules\mod_include.so
LoadModule isapi_module S:\xtack\bin\a24\modules\mod_isapi.so
LoadModule log_config_module S:\xtack\bin\a24\modules\mod_log_config.so
LoadModule mime_module S:\xtack\bin\a24\modules\mod_mime.so
LoadModule negotiation_module S:\xtack\bin\a24\modules\mod_negotiation.so
LoadModule rewrite_module S:\xtack\bin\a24\modules\mod_rewrite.so
LoadModule setenvif_module S:\xtack\bin\a24\modules\mod_setenvif.so
LoadModule unique_id_module S:\xtack\bin\a24\modules\mod_unique_id.so
ServerAdmin admin@example.com
ServerName localhost
<Directory />
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DocumentRoot "S:\xtack\www"
<Directory "S:\xtack\www">
Options FollowSymLinks ExecCGI
AllowOverride FileInfo
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 phpinfo.php
DirectoryIndex index.php52 index.php53 index.php54 index.php55 index.php56 index.php70
index.php71
DirectoryIndex index.p52 index.p53 index.p54 index.p55 index.p56 index.p70 index.p71 index.cgi
DirectoryIndex default.html default.htm default.php home.html home.htm home.php
</IfModule>
<Files ".ht*">
Require all denied
</Files>
<Files "(~$|\.bak$|\.BAK$)">
Require all denied
</Files>
ErrorLog "S:\xtack\logs\xtack_apache24_error.log"
LogLevel trace8
<IfModule log_config_module>
LogFormat "%h %l %u %{[%Y-%m-%d %H:%M]}t \"%r\" %>s %b
\"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %{[%Y-%m-%d %H:%M]}t \"%r\" %>s %b
\"%{Referer}i\" \"%{User-Agent}i\" \"%{error-notes}n\"" combinede
<IfModule logio_module>
LogFormat "%h %l %u %t{[%Y-%m-%d %H:%M]} \"%r\" %>s %b
\"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "S:\xtack\logs\xtack_apache24_access.log" combined
CustomLog "S:\xtack\logs\xtack_apache24_super.log" combinede
</IfModule>
<IfModule alias_module>
Alias /docs "S:\xtack\docs"
Alias /pma "S:\xtack\bin\pma"
Alias /pga "S:\xtack\bin\pga"
ScriptAlias /cgi-bin "S:\xtack\bin\cgi-bin"
ScriptAlias /p52 "S:\xtack\bin\p52"
ScriptAlias /p53 "S:\xtack\bin\p53"
ScriptAlias /p54 "S:\xtack\bin\p54"
ScriptAlias /p55 "S:\xtack\bin\p55"
ScriptAlias /p56 "S:\xtack\bin\p56"
ScriptAlias /p70 "S:\xtack\bin\p70"
ScriptAlias /p71 "S:\xtack\bin\p71"
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "S:\xtack\bin\cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\docs">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\pma">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\pga">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\p52">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\p53">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\p54">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\p55">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\p56">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\p70">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "S:\xtack\bin\p71">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<IfModule mime_module>
TypesConfig S:\xtack\bin\a24\conf\mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php2
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php .p52
AddType application/x-httpd-php .php52
AddType application/x-httpd-php .p53
AddType application/x-httpd-php .php53
AddType application/x-httpd-php .p54
AddType application/x-httpd-php .php54
AddType application/x-httpd-php .p55
AddType application/x-httpd-php .php55
AddType application/x-httpd-php .p56
AddType application/x-httpd-php .php56
AddType application/x-httpd-php .p70
AddType application/x-httpd-php .php70
AddType application/x-httpd-php .p71
AddType application/x-httpd-php .php71
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .phps
AddType application/x-httpd-php .sphp
AddType application/x-httpd-php .inc
AddType application/x-httpd-php .class
AddType application/x-httpd-php .module
AddType application/x-tar .tgz
AddType application/x-httpd-perl .pl
AddType application/x-httpd-python .py
AddType application/x-httpd-python .pyc
AddType application/x-httpd-python .pyo
AddType application/x-httpd-python .pyw
AddType application/x-httpd-ruby .rb
AddHandler cgi-script .cgi .pl .py .pyc .pyo .pyw .rb
AddHandler type-map var
</IfModule>
Action application/x-httpd-php /p56/php-cgi.exe
<IfDefine PHP52CGI>
Action application/x-httpd-php /p52/php-cgi.exe
</IfDefine>
<IfDefine PHP53CGI>
Action application/x-httpd-php /p53/php-cgi.exe
</IfDefine>
<IfDefine PHP54CGI>
Action application/x-httpd-php /p54/php-cgi.exe
</IfDefine>
<IfDefine PHP55CGI>
Action application/x-httpd-php /p55/php-cgi.exe
</IfDefine>
<IfDefine PHP56CGI>
Action application/x-httpd-php /p56/php-cgi.exe
</IfDefine>
<IfDefine PHP70CGI>
Action application/x-httpd-php /p70/php-cgi.exe
</IfDefine>
<IfDefine PHP71CGI>
Action application/x-httpd-php /p71/php-cgi.exe
</IfDefine>
<IfModule mpm_winnt_module>
ThreadsPerChild 150
MaxConnectionsPerChild 0
</IfModule>
IndexOptions FancyIndexing HTMLTable VersionSort
Alias /icons "S:\xtack\bin\icons"
<Directory "S:\xtack\bin\icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AddIconByEncoding (CMP,S:\xtack\bin\icons\compressed.gif) x-compress x-gzip
AddIconByType (TXT,S:\xtack\bin\icons\text.gif) text/*
AddIconByType (IMG,S:\xtack\bin\icons\image2.gif) image/*
AddIconByType (SND,S:\xtack\bin\icons\sound2.gif) audio/*
AddIconByType (VID,S:\xtack\bin\icons\movie.gif) video/*
AddIcon S:\xtack\bin\icons\binary.gif .bin .exe
AddIcon S:\xtack\bin\icons\binhex.gif .hqx
AddIcon S:\xtack\bin\icons\tar.gif .tar
AddIcon S:\xtack\bin\icons\world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon S:\xtack\bin\icons\compressed.gif .Z .z .tgz .gz .zip
AddIcon S:\xtack\bin\icons\a.gif .ps .ai .eps
AddIcon S:\xtack\bin\icons\layout.gif .html .shtml .htm .pdf
AddIcon S:\xtack\bin\icons\text.gif .txt
AddIcon S:\xtack\bin\icons\c.gif .c
AddIcon S:\xtack\bin\icons\p.gif .pl .py
AddIcon S:\xtack\bin\icons\f.gif .for
AddIcon S:\xtack\bin\icons\dvi.gif .dvi
AddIcon S:\xtack\bin\icons\uuencoded.gif .uu
AddIcon S:\xtack\bin\icons\script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon S:\xtack\bin\icons\tex.gif .tex
AddIcon S:\xtack\bin\icons\bomb.gif core
AddIcon S:\xtack\bin\icons\back.gif ..
AddIcon S:\xtack\bin\icons\hand.right.gif README
AddIcon S:\xtack\bin\icons\folder.gif ^^DIRECTORY^^
AddIcon S:\xtack\bin\icons\blank.gif ^^BLANKICON^^
DefaultIcon S:\xtack\bin\icons\unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
<IfModule mod_userdir>
UserDir "S:\xtack\www\users"
</IfModule>
<IfModule proxy_html_module>
Include S:\xtack\bin/a24\conf\extra\proxy-html.conf
</IfModule>
Timeout 60
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
UseCanonicalName Off
AccessFileName .htaccess
ServerTokens Full
ServerSignature Off
HostnameLookups Off
<IfModule reqtimeout_module>
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
<IfModule setenvif_module>
BrowserMatch "MSIE 10.0;" bad_DNT
</IfModule>
<IfModule headers_module>
RequestHeader unset DNT env=bad_DNT
</IfModule>
---------------------------------------------------------------------------
Apache has to be started with:
"C:\PATH\TO\bin\httpd.exe" -f "C:\PATH\TO\apache24.conf" -D PHP71CGI
Please kindly note that I already attached a backtrace to this bug report,
although I'm not sure whether it is usable, as I didn't manage to get MS'
DebugDiag tool v2.2 to properly find the PHP 7.1.0beta2 PDB files included
in its Debug Pack at http://windows.php.net/qa/
I could try to get a new backtrace in another system/Windows version if needed.
Kindly also remember that I use _exactly the same_ Apache stack that I successfully use (without any
modifications) with PHP 7.0, 5.6, 5.5, 5.4, 5.3 and 5.2 (so the root cause of the fault can't
be generated by Apache).
Finally, the fault is _NOT_ visible when using PHP 7.1.0beta2 in conjuction with Nginx 1.11.3,
meaning that the mbstring changes introduced in beta2 have
corrected the fault for Nginx, but not for Apache.
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=72729
--
Edit this bug report at https://bugs.php.net/bug.php?id=72729&edit=1