Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Oct 7, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

zend_runtime_jit() prevents concurrent compilation with
zend_shared_alloc_lock(), but this doesn't prevent blocked threads from
trying to compile the function again after they acquire the lock.

In the case of GH-19889, one of the function entries is compiled with
zend_jit_handler(), which fails when the op handler has already been replaced by
a JIT'ed handler.

Fix by marking compiled functions with a new flag ZEND_FUNC_JITED, and
skipping compilation of marked functions. The same fix is applied to
zend_jit_hot_func().

Fixes GH-19889
Closes GH-19971
* PHP-8.4:
  Fix race condition in zend_runtime_jit(), zend_jit_hot_func()
* PHP-8.5:
  Fix race condition in zend_runtime_jit(), zend_jit_hot_func()
* PHP-8.1:
  Upgrade Alpine in nightly job
* PHP-8.2:
  Upgrade Alpine in nightly job
* PHP-8.3:
  Upgrade Alpine in nightly job
* PHP-8.4:
  Upgrade Alpine in nightly job
* PHP-8.5:
  Upgrade Alpine in nightly job
@pull pull bot locked and limited conversation to collaborators Oct 7, 2025
@pull pull bot added the ⤵️ pull label Oct 7, 2025
@pull pull bot merged commit 286ff6b into wudi:master Oct 7, 2025
8 of 9 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant