Bug #76260 [Opn]: crash on any little error when opcache enabled,build with Intel C Compiler
| From: | inari at sosteam dot jp | Date: | Tue, 24 Apr 2018 16:47:21 +0000 |
| Subject: | Bug #76260 [Opn]: crash on any little error when opcache enabled,build with Intel C Compiler | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-214872@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76260&edit=1
ID: 76260
User updated by: inari at sosteam dot jp
Reported by: inari at sosteam dot jp
Summary: crash on any little error when opcache enabled,build
with Intel C Compiler
Status: Open
Type: Bug
Package: opcache
Operating System: Debian 8 x86_64
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
I'm sorry there is aãmistake in test script,
here is the correctãscript:
<?php
function test(){
$TEST['A']['A'] = 1;
$TEST['A']['B'] = implode("test",
$TEST['A']['B']);
}
test();
?>
Previous Comments:
------------------------------------------------------------------------
[2018-04-24 16:28:15] inari at sosteam dot jp
Thank you for reply.
here is the cpu model:
Intel Xeon W-2145
Thank you!
------------------------------------------------------------------------
[2018-04-24 16:24:19] levim@php.net
What CPU model do you have?
------------------------------------------------------------------------
[2018-04-24 16:08:12] inari at sosteam dot jp
Description:
------------
test in php-fpm+nginx and php+apache,if any wrong part in php code(but it can run on the php with
gcc compiler normal),and php will crash,
nginx and apache will return error 500.
I collect some crashes information,seems it was all with opcache.
And then I disabled opcache,now it could run php code normal.
Here is the build informations -
Compiler:
Intel C Compiler 2018 update 2(18.0.2.199 Build 20180210)
PHP Version:
7.3.0-dev(jit-dynasm)
Build options:
--enable-debug
--disable-cgi
--enable-cli
--enable-fpm
--enable-opcache
CFLAGS="-O0"
CXXFLAGS="-O0"
without any changes in php.ini
I put one of crash example code at test script.
How could fix it without crash?
Sorry for my bad english,
thank you for helping!
Test script:
---------------
<?php
function test(){
$TEST['A']['A'] = 1;
$TEST['A']['B'] = implode("test",
$TEST['A']['B']);
}
test()
?>
Expected result:
----------------
It's could run without error like build with gcc.
Actual result:
--------------
Program terminated with signal SIGILL, Illegal instruction.
#0 0x0000000000d8838c in zend_error_va_list (type=23778976, format=0x1 <error: Cannot access
memory at address 0x1>,
args=0x7ffc86bd0ed0) at /usr/local/src/php-7.2.4/Zend/zend.c:1363
1363 zval_ptr_dtor(¶ms[4]);
***************************************************************************
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000000000fca501 in zend_error (type=8, format=0x7fdc23bc651c "Undefined index: %s")
at /usr/local/src/php-7.2.4/Zend/zend.c:1399
1399 {
***************************************************************************
Program terminated with signal SIGILL, Illegal instruction.
#0 0x0000000000fca281 in zend_wrong_parameters_none_error () at
/usr/local/src/php-7.2.4/Zend/zend_API.c:181
181 ZEND_ARG_USES_STRICT_TYPES(),
***************************************************************************
Program terminated with signal SIGILL, Illegal instruction.
#0 0x0000000000fca3c3 in zend_throw_error (exception_ce=0x7ffc9992b5c8, format=0x7fb11c020550
"\340\221\006\034\261\177")
at /usr/local/src/php-7.2.4/Zend/zend.c:1427
1427 exception_ce = zend_ce_error;
***************************************************************************
Program terminated with signal SIGABRT, Aborted.
#0 0x00007fb120a4ce7b in raise () from /lib/x86_64-linux-gnu/libc.so.6
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76260&edit=1