Bug #75854 [Com]: The mistake occurs when php7 executes as by command line as by webserver.
| From: | mattficken@php.net | Date: | Sat, 27 Jan 2018 03:22:44 +0000 |
| Subject: | Bug #75854 [Com]: The mistake occurs when php7 executes as by command line as by webserver. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-213720@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=75854&edit=1
ID: 75854
Comment by: mattficken@php.net
Reported by: shamardin74 at rambler dot ru
Summary: The mistake occurs when php7 executes as by command
line as by webserver.
Status: Open
Type: Bug
Package: Performance problem
Operating System: Windows 7 (32 bit)
PHP Version: 7.0.27
Block user comment: N
Private report: N
New Comment:
I test all php releases across Win7+, but all my hardware has SSE2 support (most are SSE4) so I
can't reproduce this issue.
PHP 7.0+ requires VC14. AFAIR VC14 requires SSE2, therefore supporting pre-SSE2 would be really
hard.
PHP 7.0+ requires Win7. While Win7 doesn't require SSE2, Win7 isn't supported anymore, so
fixing the issue for the few pre-SSE2 Win7 machines would still result in an unsupported situation
anyway.
Provided this issue is just not having SSE2 support, this issue should be closed as a
dont
fix. Maybe try PHP 5.6 or 5.5. Its not supported, but then neither is Win7 and probably other
apps on that machine.
Previous Comments:
------------------------------------------------------------------------
[2018-01-25 09:32:50] ab@php.net
Thanks for more info! If the processor is older than Pentium 4 or alike, then it's the movsd
instruction for sure. Please check with https://docs.microsoft.com/en-us/sysinternals/downloads/coreinfo
or any other suitable tool for more clarity.
The 32-bit builds supplied by windows.php.net already default to SSE2 starting with PHP 5.5
actually. No much issues was seen since then, however. If it's confirmed to be a pre SSE2
processor, then i'd say it's a won't fix case. I it won't be able to run many
other binaries produced last couple of years.
Thanks.
------------------------------------------------------------------------
[2018-01-24 12:32:45] shamardin74 at rambler dot ru
When run php-7.0.27 on windows 7 32-bit occurs the error in module php7ts.dll. This occurs in step
of initialization of application.
call_stack:
-> php7ts.dll!sapi_activate() line 457 + 0x11 bytes
php7ts.dll!php_module_startup(_sapi_module_struct * sf, _zend_module_entry * additional_modules,
unsigned int num_additional_modules) line 2072
php.exe!php_cli_startup(_sapi_module_struct * sapi_module) line 426 + 0xe bytes
php.exe!main(int argc, char * * argv) line 1327 + 0x2 bytes
php.exe!__scrt_common_main_seh() line 253 + 0x1d bytes
kernel32.dll!775aed6c()
[Specified below frames can be invalid and (or) be absent, symbols for kernel32.dll not loaded]
ntdll.dll!77b637eb()
ntdll.dll!77b637be()
disassembled_source:
456: SG(request_info).proto_num = 1000; /* Default to HTTP 1.0 */
6A0B8E8D 8B 47 04 mov eax,dword ptr [edi+4]
6A0B8E90 8B 08 mov ecx,dword ptr [eax]
6A0B8E92 A1 58 DB 78 6A mov eax,dword ptr [_sapi_globals_id (6A78DB58h)]
6A0B8E97 8B 44 81 FC mov eax,dword ptr [ecx+eax*4-4]
6A0B8E9B C7 40 50 E8 03 00 00 mov dword ptr [eax+50h],3E8h
457: SG(global_request_time) = 0;
6A0B8EA2 8B 47 04 mov eax,dword ptr [edi+4]
6A0B8EA5 8B 08 mov ecx,dword ptr [eax]
6A0B8EA7 0F 57 C0 xorps xmm0,xmm0
6A0B8EAA A1 58 DB 78 6A mov eax,dword ptr [_sapi_globals_id (6A78DB58h)]
6A0B8EAF 8B 44 81 FC mov eax,dword ptr [ecx+eax*4-4]
-> 6A0B8EB3 F2 0F 11 80 C8 00 00 00 movsd mmword ptr [eax+0C8h],xmm0
458: SG(post_read) = 0;
6A0B8EBB 8B 47 04 mov eax,dword ptr [edi+4]
6A0B8EBE 8B 08 mov ecx,dword ptr [eax]
6A0B8EC0 A1 58 DB 78 6A mov eax,dword ptr [_sapi_globals_id (6A78DB58h)]
6A0B8EC5 8B 44 81 FC mov eax,dword ptr [ecx+eax*4-4]
6A0B8EC9 88 98 88 00 00 00 mov byte ptr [eax+88h],bl
459: /* It's possible to override this general case in the activate() callback, if
necessary. */
460: if (SG(request_info).request_method && !strcmp(SG(request_info).request_method,
"HEAD")) {
registers_content: (intel)
eax 0x0021afa0
ebx 0x00000000
ecx 0x00212560
edx 0x00212c30
esi 0x00d95020
edi 0x00212c30
mm0 0x0000000000000000
mm1 0x0000000000000000
mm2 0x0000000000000000
Perhaps that is instruction SSE2 which is not supported by 32-bit processor.
------------------------------------------------------------------------
[2018-01-22 12:01:09] ab@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php
for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
Also, is some reproduce script available?
Thanks.
------------------------------------------------------------------------
[2018-01-21 19:12:42] shamardin74 at rambler dot ru
Description:
------------
The name of the event of the problem: APPCRASH;
The name of application: php.exe; (also httpd.exe)
The version of application: 7.0.27.0;
The name of the module with mistake: php7ts.dll;
The version of the module with mistake: 7.0.27.0;
The code of the exception: c000001d;
The offset of the exception: 000dd820;
The version OS: 6.1 (Windows 7 x86)
This mistake occurs when php executes in command line (php -i; php -v), so and when executes by
apache web-server. In case of "php -?" available options list are displayed.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=75854&edit=1