[php-src] Issue #10635: ARM64 JIT causes impossible assertion
| From: | danog | Date: | Mon, 20 Feb 2023 11:24:31 +0000 |
| Subject: | [php-src] Issue #10635: ARM64 JIT causes impossible assertion | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-243756@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/10635
Author: danog
### Description
Ref https://github.com/vimeo/psalm/issues/9350
Enabling JIT on an ARM64 machine with
opcache.jit=1205 triggers an impossible assertion
(count($result_type_parts) === $combinations where $result_type_parts is
an array with 1 element and $combinations is 1).
Using opcache.jit=1254 fixes the issue.
Running var_dump($result_type_parts, $combinations); before the assertion also fixes
the issue.
To reproduce, enable opcache, create an empty composer project, install vimeo/psalm 5.7.1 and scan
the following file (vendor/bin/psalm --no-cache a.php):
```
<?php
$v = __DIR__ . '';
```
### PHP Version
PHP 8.2.2
### Operating System
Manjaro arm64