-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Abortion with tracing JIT #12482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
A better reproducer: https://github.com/danog/jit_bugs (test 2). |
* PHP-8.1: Fixed GH-12482: Abortion with tracing JIT
* PHP-8.2: Fixed GH-12482: Abortion with tracing JIT
* PHP-8.3: Fixed GH-12482: Abortion with tracing JIT
Thanks for the https://github.com/danog/jit_bugs repo. The test 2 should be fixed now. |
Hi @dstogov, thanks! |
Additionally, there's an issue with fibers unrelated to JIT or opcache that causes memory corruption in certain cases if a fiber is resumed after an exception in the shutdown handler, I've been seeing a lot of reports including in the amphp chat, and got the issue myself several times (an impossible TypeError on corrupted return values), but haven't managed to reliably reproduce yet... The only way of sometimes reproducing the issue is running reproducer 3 and randomly hitting ctrl-c multiple times during the handshake, but still it's super hard to reproduce reliably... |
I think this is a different issue. New JIT avoided this error out of the box. BTW I also see a heap-buffer-overflow on test 2 with PHP-8.3. This is definitely a different problem.
The problem that this error occurs after an hour of work :( |
The last heap-buffer-overflow should be fixed now in PHP-8.1 and above |
Description
The following code: https://github.com/nicelocal/psalm/tree/rector_pass (a fork of Psalm, commit 9d3fee47afa90f3eb53043a26f01e587d2dd34e5)
Running using (the xdebug env is used to avoid overwriting the opcache config, xdebug is not installed nor enabled):
With this config:
Resulted in this output:
But I expected this output instead: no abortion.
ping @dstogov
PHP Version
master
Operating System
Arch linux
The text was updated successfully, but these errors were encountered: