Bug #75731 [Opn]: Php-fpm will crash when perf runs with call graph option

From: Date: Tue, 26 Dec 2017 03:21:24 +0000
Subject: Bug #75731 [Opn]: Php-fpm will crash when perf runs with call graph option
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-213271@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=75731&edit=1 ID: 75731 User updated by: ufo19890607 at gmail dot com Reported by: ufo19890607 at gmail dot com Summary: Php-fpm will crash when perf runs with call graph option Status: Open Type: Bug Package: Reproducible crash Operating System: Centos7.3 PHP Version: 7.0Git-2017-12-26 (Git) Block user comment: N Private report: N New Comment: I use perf to analyze the performance overhead for the server. There are several dockers in the server. The php-fpm in the docker will crash as long as the perf collects samples for all the cpus with call graph option(perf record -ag). Below is the stack trace in the coredump. This issue happens always. The perf is running on the host machine and the command line is as follow: $perf record -ag -F 100 I add some output info in the php source code, and found that virtual_file_ex functions's rbp value is really strange,etc 0x1, 0x31. I guess when the perf collects samples for all the cpus with -g option, it may destroy the php-fpm's stack. When the perf is running without -g option, the php-fpm is normal. Who have ever encountered similar problems? OS in the server: Centos7.3 , Kernel version: 3.10.0-514.16.1.el7.x86_64. php-fpm version: 7.0.6 Processor info: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz Previous Comments: ------------------------------------------------------------------------ [2017-12-26 03:18:53] ufo19890607 at gmail dot com Description: ------------ The php version:7.0.6 gdb backtrace #0 0x00007f044ff447bd in re_compile_fastmap_iter (bufp=0x7f044ff447bd <re_compile_fastmap_iter+1165>, fastmap=0x46 <Address 0x46 out of bounds>, init_state=<optimized out>, init_state=<optimized out>) at regcomp.c:407 407 if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) (gdb) bt #0 0x00007f044ff447bd in re_compile_fastmap_iter (bufp=0x7f044ff447bd <re_compile_fastmap_iter+1165>, fastmap=0x46 <Address 0x46 out of bounds>, init_state=<optimized out>, init_state=<optimized out>) at regcomp.c:407 #1 0x0000000000831160 in virtual_file_ex (state=0x7fff9c1a4f70, path=<optimized out>, verify_path=0x0, use_realpath=1) at phpng/php-7.0.6/Zend/zend_virtual_cwd.c:1392 #2 0x00000000007aacee in expand_filepath_with_mode ( filepath=0x7f044d6020d8 "xx/xxxx/xxxxxx/xxxxxxx", real_path=0x7fff9c1a4fc0 "\360X\032\234\377\177", relative_to=<optimized out>, relative_to_len=0, realpath_mode=1) at phpng/php-7.0.6/main/fopen_wrappers.c:812 #3 0x00000000007c1536 in _php_stream_fopen ( filename=0x7f044d6020d8 "xx/xxxx/xxxxxx/xxxxxxx", mode=0xdbb1f1 "rb", opened_path=0x0, options=0) at phpng/php-7.0.6/main/streams/plain_wrapper.c:970 #4 0x00000000007bd084 in _php_stream_open_wrapper_ex ( path=0x7f044d6020d8 "xx/xxxx/xxxxxx/xxxxxxx", mode=0xdbb1f1 "rb", options=8, opened_path=0x0, context=0x7f044d65f4c0) at phpng/php-7.0.6/main/streams/streams.c:2060 #5 0x000000000071722b in zif_file_get_contents (execute_data=<optimized out>, return_value=0x7f044d615540) at phpng/php-7.0.6/ext/standard/file.c:544 #6 0x000000000065387c in phar_file_get_contents (execute_data=0x7f044d615570, return_value=0x7f044d615540) at phpng/php-7.0.6/ext/phar/func_interceptors.c:224 #7 0x00000000008798b8 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7f044d615450) at phpng/php-7.0.6/Zend/zend_vm_execute.h:714 #8 0x00000000008423d0 in execute_ex (ex=<optimized out>) at phpng/php-7.0.6/Zend/zend_vm_execute.h:417 #9 0x00000000008952fb in zend_execute (op_array=0x7f044d66a000, return_value=<optimized out>) at phpng/php-7.0.6/Zend/zend_vm_execute.h:458 #10 0x0000000000802333 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at phpng/php-7.0.6/Zend/zend.c:1427 #11 0x00000000007a4b40 in php_execute_script (primary_file=0x7fff9c1a88b0) at phpng/php-7.0.6/main/main.c:2494 #12 0x00000000008a318e in main (argc=<optimized out>, argv=<optimized out>) at phpng/php-7.0.6/sapi/fpm/fpm/fpm_main.c:1968 Test script: --------------- ... Expected result: ---------------- ... Actual result: -------------- ... ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=75731&edit=1

« previous php.bugs (#213271) next »