- Notifications
You must be signed in to change notification settings - Fork8k
Closed
Description
Description
When starting an application that has lots of php files (Laravel) I sometimes get a crash with 'bad signal' 139.
I don't know if this is limited to the ZTS build of PHP, but it happens in the ZTS FrankenPHP bookworm Docker Image (PHP 8.3.15) with opcache and opcache_cli enabled.
The backtrace from the core-dump:
#0 runtime.raise () at /usr/local/go/src/runtime/sys_linux_amd64.s:154#1 0x000000000045d0fb in runtime.raisebadsignal (sig=11, c=0xc00078fa50) at /usr/local/go/src/runtime/signal_unix.go:987#2 0x000000000045d547 in runtime.badsignal (sig=11, c=0xc00078fa50) at /usr/local/go/src/runtime/signal_unix.go:1096#3 0x000000000045bda8 in runtime.sigtrampgo (sig=11, info=0xc00078fbf0, ctx=0xc00078fac0) at /usr/local/go/src/runtime/signal_unix.go:468#4 0x0000000000481126 in runtime.sigtramp () at /usr/local/go/src/runtime/sys_linux_amd64.s:352#5 <signal handler called>#6 0x00007f38055478b6 in zend_mm_alloc_small (heap=0x7f376c400040, bin_num=16, __zend_filename=0x7f3805fcdbc0 "/usr/local/src/php/Zend/zend_opcode.c", __zend_lineno=1051, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/local/src/php/Zend/zend_alloc.c:1312#7 0x00007f3805548471 in zend_mm_realloc_heap (heap=0x7f376c400040, ptr=0x7f376c472000, size=272, use_copy_size=false, copy_size=240, __zend_filename=0x7f3805fcdbc0 "/usr/local/src/php/Zend/zend_opcode.c", __zend_lineno=1051, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/local/src/php/Zend/zend_alloc.c:1609#8 0x00007f380554ac5f in _erealloc (ptr=0x7f376c472000, size=240, __zend_filename=0x7f3805fcdbc0 "/usr/local/src/php/Zend/zend_opcode.c", __zend_lineno=1051, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/local/src/php/Zend/zend_alloc.c:2634#9 0x00007f380557d083 in pass_two (op_array=0x7f376c533ca8) at /usr/local/src/php/Zend/zend_opcode.c:1051#10 0x00007f3805564c5f in zend_compile_func_decl (result=0x0, ast=0x7f376c519f00, toplevel=false) at /usr/local/src/php/Zend/zend_compile.c:7698 #11 0x00007f380556d3b6 in zend_compile_stmt (ast=0x7f376c519f00) at /usr/local/src/php/Zend/zend_compile.c:10427#12 0x00007f380556071a in zend_compile_stmt_list (ast=0x7f376c519dd0) at /usr/local/src/php/Zend/zend_compile.c:6405#13 0x00007f380556d28b in zend_compile_stmt (ast=0x7f376c519dd0) at /usr/local/src/php/Zend/zend_compile.c:10374#14 0x00007f380555de79 in zend_compile_if (ast=0x7f376c519f60) at /usr/local/src/php/Zend/zend_compile.c:5643#15 0x00007f380556d368 in zend_compile_stmt (ast=0x7f376c519f60) at /usr/local/src/php/Zend/zend_compile.c:10414#16 0x00007f380556d04a in zend_compile_top_stmt (ast=0x7f376c519f60) at /usr/local/src/php/Zend/zend_compile.c:10352#17 0x00007f380556cf57 in zend_compile_top_stmt (ast=0x7f376c4ecb98) at /usr/local/src/php/Zend/zend_compile.c:10338#18 0x00007f380550b718 in zend_compile (type=2) at Zend/zend_language_scanner.l:618#19 0x00007f380550b8dc in compile_file (file_handle=0x7f3788df7360, type=8) at Zend/zend_language_scanner.l:653#20 0x00007f38052ea915 in phar_compile_file (file_handle=0x7f3788df7360, type=8) at /usr/local/src/php/ext/phar/phar.c:3352#21 0x00007f379a26f93c in opcache_compile_file (file_handle=0x7f3788df7360, type=8, op_array_p=0x7f3788df72f8) at /usr/local/src/php/ext/opcache/ZendAccelerator.c:1817#22 0x00007f379a2713e7 in persistent_compile_file (file_handle=0x7f3788df7360, type=8) at /usr/local/src/php/ext/opcache/ZendAccelerator.c:2147#23 0x00007f380550bb85 in compile_filename (type=8, filename=0x4048f030) at Zend/zend_language_scanner.l:704#24 0x00007f38055d31c1 in zend_include_or_eval (inc_filename_zv=0x7f376c4143b0, type=8) at /usr/local/src/php/Zend/zend_execute.c:4946#25 0x00007f380563842d in ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER () at /usr/local/src/php/Zend/zend_vm_execute.h:39836#26 0x00007f380565df51 in execute_ex (ex=0x7f376c414020) at /usr/local/src/php/Zend/zend_vm_execute.h:60595#27 0x00007f380565efc9 in zend_execute (op_array=0x7f376c46d000, return_value=0x0) at /usr/local/src/php/Zend/zend_vm_execute.h:61604#28 0x00007f38055928f2 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/local/src/php/Zend/zend.c:1895#29 0x00007f38054ca91c in php_execute_script (primary_file=0x7f3788df8b00) at /usr/local/src/php/main/main.c:2528#30 0x00000000019b1f44 in frankenphp_execute_script (file_name=0x0) at frankenphp.c:954#31 0x00000000019afb47 in _cgo_b21416d01a02_Cfunc_frankenphp_execute_script (v=0xc00061fdd8) at /tmp/go-build/cgo-gcc-prolog:74#32 0x000000000047f244 in runtime.asmcgocall () at /usr/local/go/src/runtime/asm_amd64.s:918#33 0x000000c000444700 in ?? ()#34 0x00007f3788df8c70 in ?? ()#35 0x00007f380617e5c0 in ?? () from /usr/local/lib/libphp.so#36 0x000000c0005d4808 in ?? ()#37 0x00007f3788df8cd8 in ?? ()#38 0x00000000005539e1 in crosscall2 () at /usr/local/go/src/runtime/cgo/asm_amd64.s:43#39 0x00000000019af86a in go_frankenphp_on_thread_work (threadIndex=824640142696) at _cgo_export.c:299#40 0x00000000019b1313 in php_thread (arg=<optimized out>) at frankenphp.c:826#41 0x00007f3804e64144 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442#42 0x00007f3804ee47dc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Here's what all other threads are doing at the time of the crash if it helps:
1 Thread 0x7f3788df96c0 (LWP 128690) runtime.raise () at /usr/local/go/src/runtime/sys_linux_amd64.s:154 2 Thread 0x7f379affd6c0 (LWP 128679) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 3 Thread 0x7f379a24f6c0 (LWP 128680) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 4 Thread 0x7f376ffff6c0 (LWP 128713) 0x00007f38056c2435 in zend_optimize_temporary_variables (op_array=0x7f37454080f0, ctx=0x7f376fffd0d0) at /usr/local/src/php/Zend/Optimizer/optimize_temp_vars_5.c:131 5 Thread 0x7f377affd6c0 (LWP 128700) lex_scan (zendlval=0x7f377affa370, elem=0x7f377affac80) at Zend/zend_language_scanner.l:3122 6 Thread 0x7f37bab776c0 (LWP 128672) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 7 Thread 0x7f37ba3366c0 (LWP 128673) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 8 Thread 0x7f379bfff6c0 (LWP 128677) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 9 Thread 0x7f3777ff76c0 (LWP 128706) __memcpy_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:280 10 Thread 0x7f378bdff6c0 (LWP 128684) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 11 Thread 0x7f37b8aa36c0 (LWP 128676) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 12 Thread 0x7f378a5fc6c0 (LWP 128687) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 13 Thread 0x7f3776ff56c0 (LWP 128708) 0x00007f38056b1e16 in get_ssa_var_info (ssa=0x7f3745e7c630, ssa_var_num=1) at /usr/local/src/php/Zend/Optimizer/zend_inference.h:167 14 Thread 0x7f3781ffb6c0 (LWP 128695) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 15 Thread 0x7f37797fa6c0 (LWP 128703) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 16 Thread 0x7f37837fe6c0 (LWP 128692) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 17 Thread 0x7f377a7fc6c0 (LWP 128701) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 18 Thread 0x7f3798a4c6c0 (LWP 128683) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 19 Thread 0x7f3789dfb6c0 (LWP 128688) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 20 Thread 0x7f378adfd6c0 (LWP 128686) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 21 Thread 0x7f3780ff96c0 (LWP 128697) 0x00007f38056c86c9 in zend_cfg_build_predecessors (arena=0x7f3780ff70d0, cfg=0x7f37474bf618) at /usr/local/src/php/Zend/Optimizer/zend_cfg.c:631 22 Thread 0x7f380276d8c0 (LWP 128669) runtime/internal/syscall.Syscall6 () at /usr/local/go/src/runtime/internal/syscall/asm_linux_amd64.s:36 23 Thread 0x7f377b7fe6c0 (LWP 128699) zend_string_tolower_ex (str=0x7f36c8e52e60, persistent=false) at /usr/local/src/php/Zend/zend_operators.c:3093 24 Thread 0x7f37b9b356c0 (LWP 128674) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 25 Thread 0x7f3799a4e6c0 (LWP 128681) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 26 Thread 0x7f3775ff36c0 (LWP 128710) zend_ssa_next_use (ssa_op=0x7f3745ad4620, var=47, use=66) at Zend/Optimizer/zend_ssa.h:196 27 Thread 0x7f3782ffd6c0 (LWP 128693) __memcpy_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:273 28 Thread 0x7f37757f26c0 (LWP 128711) 0x00007f38056dce53 in zend_ssa_compute_use_def_chains (arena=0x7f37757f00d0, op_array=0x7f37458107d0, ssa=0x7f37458aa470) at /usr/local/src/php/Zend/Optimizer/zend_ssa.c:1075 29 Thread 0x7f37767f46c0 (LWP 128709) 0x00007f3805547820 in zend_mm_alloc_small (heap=0x7f3745c00040, bin_num=7, __zend_filename=0x7f3805fc35b0 "/usr/local/src/php/Zend/zend_string.h", __zend_lineno=174, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/local/src/php/Zend/zend_alloc.c:1300 30 Thread 0x7f3783fff6c0 (LWP 128691) lex_scan (zendlval=0x7f3783ffc370, elem=0x7f3783ffcc80) at /usr/local/src/php/Zend/zend_language_scanner.c:2312 31 Thread 0x7f36d3fff6c0 (LWP 128720) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 32 Thread 0x7f3774ff16c0 (LWP 128712) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 33 Thread 0x7f37bb3786c0 (LWP 128671) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 34 Thread 0x7f379b7fe6c0 (LWP 128678) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 35 Thread 0x7f3778ff96c0 (LWP 128704) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 36 Thread 0x7f376effd6c0 (LWP 128715) lex_scan (zendlval=0x7f376effa370, elem=0x7f376effac80) at Zend/zend_language_scanner.l:2417 37 Thread 0x7f376dffb6c0 (LWP 128717) 0x00007f3805547815 in zend_mm_alloc_small (heap=0x7f3744c00040, bin_num=26, __zend_filename=0x0, __zend_lineno=0, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/local/src/php/Zend/zend_alloc.c:1300 38 Thread 0x7f379924d6c0 (LWP 128682) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 39 Thread 0x7f37b92b46c0 (LWP 128675) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 40 Thread 0x7f376cff96c0 (LWP 128719) 0x00007f3805511b8a in lex_scan (zendlval=0x7f376cff6370, elem=0x7f376cff6c80) at /usr/local/src/php/Zend/zend_language_scanner.c:2584 41 Thread 0x7f376f7fe6c0 (LWP 128714) 0x00007f38055baed5 in zif_function_exists (execute_data=0x7f3745214440, return_value=0x7f3745214430) at /usr/local/src/php/Zend/zend_builtin_functions.c:1057 42 Thread 0x7f378b5fe6c0 (LWP 128685) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 43 Thread 0x7f37895fa6c0 (LWP 128689) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 44 Thread 0x7f37827fc6c0 (LWP 128694) 0x00007f3805688df4 in zend_ast_is_list (ast=0x7f3747abffc8) at /usr/local/src/php/Zend/zend_ast.h:324 45 Thread 0x7f377bfff6c0 (LWP 128698) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 46 Thread 0x7f37bbb796c0 (LWP 128670) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 47 Thread 0x7f36d37fe6c0 (LWP 128721) runtime.futex () at /usr/local/go/src/runtime/sys_linux_amd64.s:558 48 Thread 0x7f37777f66c0 (LWP 128707) 0x00007f380558903d in _mm_set_epi8 (__q00=-102 '\232', __q01=-102 '\232', __q02=-102 '\232', __q03=-102 '\232', __q04=-102 '\232', __q05=-102 '\232', __q06=-102 '\232', __q07=-102 '\232', __q08=-102 '\232', __q09=-102 '\232', __q10=-102 '\232', __q11=-102 '\232', __q12=-102 '\232', __q13=-102 '\232', __q14=-102 '\232', __q15=-102 '\232') at /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:621 49 Thread 0x7f376d7fa6c0 (LWP 128718) zend_mm_alloc_heap (heap=0x7f3780200040, size=96, __zend_filename=0x7f3805fc35b0 "/usr/local/src/php/Zend/zend_string.h", __zend_lineno=174, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/local/src/php/Zend/zend_alloc.c:1392 50 Thread 0x7f3779ffb6c0 (LWP 128702) 0x00007f3805715798 in dce_optimize_op_array (op_array=0x7f3746a0df50, optimizer_ctx=0x7f3779ff8a80, ssa=0x7f3746abd488, reorder_dtor_effects=false) at /usr/local/src/php/Zend/Optimizer/dce.c:595 51 Thread 0x7f37817fa6c0 (LWP 128696) 0x00007f3805547880 in zend_mm_alloc_small (heap=0x7f3747600040, bin_num=9, __zend_filename=0x7f3805fce7d0 "/usr/local/src/php/Zend/zend_string.h", __zend_lineno=174, __zend_orig_filename=0x0, __zend_orig_lineno=0) at /usr/local/src/php/Zend/zend_alloc.c:1310 52 Thread 0x7f37787f86c0 (LWP 128705) futex_wait (private=0, expected=2, futex_word=0x7f37901c7700) at ../sysdeps/nptl/futex-internal.h:146 53 Thread 0x7f376e7fc6c0 (LWP 128716) 0x00007f3804ed390a in __GI___close (fd=46) at ../sysdeps/unix/sysv/linux/close.c:27
The crash was reproduced by compiling PHP with debug symbols in thefrankenphp-bookworm-zts Docker image with a cleanLaravel andLaravel Octane installation, the crash happens sporadically on startup of the application (probably some kind of race condition).
PHP Version
8.3.15
Operating System
Debian bookworm ZTS Docker