[php-src] Issue #12365: JIT assertion in Symfony Yaml tests
| From: | iluuu1994 | 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_