Bug #80422 [Opn]: php_opcache.dll crashes when using Apache 2.4 with JIT
| From: | nikic@php.net | Date: | Fri, 27 Nov 2020 11:39:05 +0000 |
| Subject: | Bug #80422 [Opn]: php_opcache.dll crashes when using Apache 2.4 with JIT | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-230681@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=80422&edit=1
ID: 80422
Updated by: nikic@php.net
Reported by: martin at radiok2r dot de
Summary: php_opcache.dll crashes when using Apache 2.4 with
JIT
Status: Open
Type: Bug
Package: JIT
Operating System: Windows 10 64-bit
PHP Version: 8.0.0
-Assigned To:
+Assigned To: dmitry
Block user comment: N
Private report: N
New Comment:
Assigning to dmitry in case he can guess at the cause here.
Previous Comments:
------------------------------------------------------------------------
[2020-11-26 13:34:57] martin at radiok2r dot de
Thanks for your fast reply. This is the output from the DebugDiag Analysis Report after installing
the symbols from the Debug Pack. Hope it helps.
In httpd.exe_201126_135319.dmp the assembly instruction at php_opcache!zend_jit_trace_exit_is_hot+68
in c:\PHP\ext\php_opcache.dll from The PHP Group has caused an access violation exception
(0xC0000005) when trying to read from memory location 0x00000004 on thread 162
Faulting Thread
Entry point libhttpd!ap_run_generate_log_id+3ab0
Create time 26.11.2020 13:52:36
Time spent in user mode 0 Days 0:0:0.0
Time spent in kernel mode 0 Days 0:0:0.0
php_opcache!zend_jit_trace_exit_is_hot+68
[C:\php-snap-build\php80\vs16\x64\php-8.0.0-ts\ext\opcache\jit\zend_jit_trace.c @ 6916 + 4]
0000000
00000002 000000000000003 000000000000000
000000000000000
C:\php-snap-build\php80\vs16\x64\php-8.0.0-ts\ext\opcache\jit\zend_jit_trace.c @ 6916 + 4
php_opcache!zend_jit_trace_exit+d3e
[C:\php-snap-build\php80\vs16\x64\php-8.0.0-ts\ext\opcache\jit\zend_jit_trace.c @ 7343 + 47]
00001d100000003 00000a701ebd940 00001d12baec730
000100000c44b40
C:\php-snap-build\php80\vs16\x64\php-8.0.0-ts\ext\opcache\jit\zend_jit_trace.c @ 7343 + 47
0x000010000800062b 00000a701ebd940 00001d12baec730
000100000c44b40 0001000`00aa2520
0x000001d100000003 00001d12baec730 000100000c44b40
000100000aa2520 00001d1`2cfc7540
0x000000a701ebd940 000100000c44b40 000100000aa2520
00001d12cfc7540 0000000`00000308
0x000001d12baec730 000100000aa2520 00001d12cfc7540
000000000000308 0007ffe`40701b31
0x0000100000c44b40 00001d12cfc7540 000000000000308
0007ffe40701b31 00001d1`2d00b048
0x0000100000aa2520 000000000000308 0007ffe40701b31
00001d12d00b048 0000000`0000003d
0x000001d12cfc7540 0007ffe40701b31 00001d12d00b048
00000000000003d 00001d1`2ce79000
0x00000308 00001d12d00b048 00000000000003d 00001d12ce79000
00001d12baec730
php8ts!zend_string_tolower_ex+281
[C:\php-snap-build\php80\vs16\x64\php-8.0.0-ts\Zend\zend_operators.c @ 2670]
000000000000000 000000000000000 000000000000000
000000000000000
C:\php-snap-build\php80\vs16\x64\php-8.0.0-ts\Zend\zend_operators.c @ 2670
------------------------------------------------------------------------
[2020-11-26 11:20:52] cmb@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.
------------------------------------------------------------------------
[2020-11-26 11:10:57] martin at radiok2r dot de
Description:
------------
Hello,
I'm trying to run Apache with PHP 8 JIT-compiler on Windows 10 64-bit. I did:
Downloaded and installed Apache 2.4.46 Win64 from
https://www.apachelounge.com/download/
Downloaded and installed PHP VS16 x64 Thread Safe (2020-Nov-24 22:49:03) from:
https://windows.php.net/download/
I inserted:
LoadModule php_module "C:/[Path to PHP]/php8apache2_4.dll"
AddHandler application/x-httpd-php .php
into my httpd.conf
I started Apache, and browsing to local webpages works fine.
Okay, so I added to my php.ini:
opcache.jit_buffer_size=100M
which should activate the JIT-compiler.
I restarted Apache and called a local webpage and just got:
This site canât be reached
The connection was reset.
Windows event-log shows me (I hope the translation is correct):
Name of the crashed application: httpd.exe, Version: 2.4.46.0, Timestamp: 0x5f76f6fc
Name of the crashed modul: php_opcache.dll, Version: 8.0.0.0, Timestamp: 0x5fbd7aa0
Exceptioncode: 0xc0000005
Erroroffset: 0x000000000012a298
ID of the faulty process: 0x4628
Path to the crashed appliction: C:\[Path to Apache]\bin\httpd.exe
Path to the crashed modul:: c:\[Path to PHP]\ext\php_opcache.dll
Removing:
opcache.jit_buffer_size=100M
from php.ini, and Apache works fine again.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80422&edit=1