[php-src] Issue #12365: JIT assertion in Symfony Yaml tests

From: Date: Thu, 05 Oct 2023 10:18:56 +0000
Subject: [php-src] Issue #12365: JIT assertion in Symfony Yaml tests
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-245506@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/12365 Author: iluuu1994 ### Description https://github.com/php/php-src/actions/runs/6413467433/job/17412450113 > php-dev -d opcache.enable_cli=1 -d opcache.jit=tracing -d opcache.jit_buffer_size=1G -d > opcache.jit_max_root_traces=1000000 -d opcache.jit_max_side_traces=1000000 -d > opcache.jit_max_exit_counters=1000000 -d opcache.jit_hot_loop=1 -d opcache.jit_hot_func=1 -d > opcache.jit_hot_return=1 -d opcache.jit_hot_side_exit=1 -d memory_limit=-1 ./phpunit > src/Symfony/Component/Yaml/Tests/ --exclude-group tty,benchmark,intl-data,transient --exclude-group > skip > php: ext/opcache/jit/zend_jit_trace.c:380: zend_jit_trace_type_to_info_ex: Assertion `info > & (1 << type)' failed. info is 16, type is 6. ``` #0 0x00007ffff66b0884 in __pthread_kill_implementation () from /lib64/libc.so.6 #1 0x00007ffff665fafe in raise () from /lib64/libc.so.6 #2 0x00007ffff664887f in abort () from /lib64/libc.so.6 #3 0x00007ffff664879b in __assert_fail_base.cold () from /lib64/libc.so.6 #4 0x00007ffff6658187 in __assert_fail () from /lib64/libc.so.6 #5 0x00007fffe5301fd5 in zend_jit_trace_type_to_info_ex (type=6 '\006', info=16) at ext/opcache/jit/zend_jit_trace.c:379 #6 0x00007fffe530291a in zend_jit_trace_add_op_guard (tssa=0x608000055c20, ssa_var=9, op_type=6 '\006') at ext/opcache/jit/zend_jit_trace.c:418 #7 0x00007fffe532947e in zend_jit_trace_build_tssa (trace_buffer=0x7ffff4908020, parent_trace=2234, exit_num=5, script=0x0, op_arrays=0x7ffff4444970, num_op_arrays_ptr=0x7ffff44448a0) at ext/opcache/jit/zend_jit_trace.c:1988 #8 0x00007fffe5365467 in zend_jit_trace (trace_buffer=0x7ffff4908020, parent_trace=2234, exit_num=5) at ext/opcache/jit/zend_jit_trace.c:4024 #9 0x00007fffe541ae0d in zend_jit_compile_side_trace (trace_buffer=0x7ffff4908020, parent_num=2234, exit_num=5, polymorphism=0) at ext/opcache/jit/zend_jit_trace.c:7842 #10 0x00007fffe541ed8b in zend_jit_trace_hot_side (execute_data=0x7fffe5ce2ca0, parent_num=2234, exit_num=5) at ext/opcache/jit/zend_jit_trace.c:8034 #11 0x00007fffe54253d3 in zend_jit_trace_exit (exit_num=5, regs=0x7fffffffa690) at ext/opcache/jit/zend_jit_trace.c:8277 #12 0x000000000ea004ba in JIT$$trace_exit () at unknown:1 #13 0x00007fffffffa920 in ?? () #14 0x00007ffff4150de0 in ?? () #15 0x00007ffff4150de0 in ?? () #16 0x00007ffff4150d80 in ?? () #17 0x00000ffffe82a1b0 in ?? () #18 0x00007fffffffa950 in ?? () #19 0x00000000019546ab in tracked_malloc (size=140737288408544) at /home/ilutov/Developer/php-src/Zend/zend_alloc.c:2839 #20 0x0000000001e0a314 in zend_execute (op_array=0x611000005680, return_value=0x0) at /home/ilutov/Developer/php-src/Zend/zend_vm_execute.h:60409 #21 0x0000000001a64d64 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/ilutov/Developer/php-src/Zend/zend.c:1833 #22 0x00000000018093a6 in php_execute_script (primary_file=0x7ffff475e170) at /home/ilutov/Developer/php-src/main/main.c:2542 #23 0x000000000219461f in do_cli (argc=10, argv=0x6080000000a0) at /home/ilutov/Developer/php-src/sapi/cli/php_cli.c:964 #24 0x0000000002196c75 in main (argc=10, argv=0x6080000000a0) at /home/ilutov/Developer/php-src/sapi/cli/php_cli.c:1333 ``` The assertion occurs in src/Symfony/Component/Yaml/Tests/DumperTest.php testDumpInlineNumericKeyAsString, but it doesn't trigger unless all the tests are ran. I assume multiple executions of some code paths trigger tracing. ### PHP Version PHP 8.1+ ### Operating System _No response_

« previous php.bugs (#245506) next »