Tracing JIT issue on laravel benchmark.
- Both JIT/arm64 and JIT/x86 are affected.
- only CALL+noGRV is affected. JIT has three configurations, HYBRID, CALL with global register variabels feature(CALL+GRV for short) and CALL+noGRV. In my local test, only CALL+noGRV has this issue, i.e.
--disable-gcc-global-regs
should be passed.
Reproduce in laravel:
php vendor/bin/phpunit --group default
Error log(part of):
............................................................. 1952 / 6538 ( 29%)
............................................................. 2013 / 6538 ( 30%)
............................................................. 2074 / 6538 ( 31%)
............................................................. 2135 / 6538 ( 32%)
............................................................. 2196 / 6538 ( 33%)
EEEE.EEEE................................EE.................. 2257 / 6538 ( 34%)
.........E........E......EEEEEEEEEEEEEEE..................... 2318 / 6538 ( 35%)
............................................................. 2379 / 6538 ( 36%)
.....................
Deprecated: Return type of League\Flysystem\FileAttributes::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /tmp/php-oss/laravel/vendor/league/flysystem/src/ProxyArrayAccessToProperties.php on line 36
........................................ 2440 / 6538 ( 37%)
...............................php: /tmp/php-src/Zend/zend_execute.h:302: zend_vm_stack_free_call_frame_ex: Assertion `call == (zend_execute_data*)(((zval*)((executor_globals.vm_stack))) + (((((sizeof(struct _zend_vm_stack)) + 8 - 1) & ~(8 - 1)) + (((sizeof(zval)) + 8 - 1) & ~(8 - 1)) - 1) / (((sizeof(zval)) + 8 - 1) & ~(8 - 1))))' failed.
php: /tmp/php-src/Zend/zend_execute.h:302: zend_vm_stack_free_call_frame_ex: Assertion `call == (zend_execute_data*)(((zval*)((executor_globals.vm_stack))) + (((((sizeof(struct _zend_vm_stack)) + 8 - 1) & ~(8 - 1)) + (((sizeof(zval)) + 8 - 1) & ~(8 - 1)) - 1) / (((sizeof(zval)) + 8 - 1) & ~(8 - 1))))' failed.
php: /tmp/php-src/Zend/zend_execute.h:302: zend_vm_stack_free_call_frame_ex: Assertion `call == (zend_execute_data*)(((zval*)((executor_globals.vm_stack))) + (((((sizeof(struct _zend_vm_stack)) + 8 - 1) & ~(8 - 1)) + (((sizeof(zval)) + 8 - 1) & ~(8 - 1)) - 1) / (((sizeof(zval)) + 8 - 1) & ~(8 - 1))))' failed.
@shqking Unfortunately, I'm not able to reproduce this. Please provide the backtrace and values of
call
andEG(vm_stack))