|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2018-04-24 16:08 UTC] 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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 02:00:02 2025 UTC |
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(); ?>