Skip to content

Fix GH-23586: Keep GC traversal consistent under memory exhaustion - #24645

Open
kairosci wants to merge 2 commits into
php:PHP-8.4from
kairosci:fix/gh-23586-gc-traversal-oom
Open

kairosci wants to merge 2 commits into
php:PHP-8.4from
kairosci:fix/gh-23586-gc-traversal-oom

Conversation

@kairosci

Copy link
Copy Markdown
Contributor

Fixes #23586 by allocating GC traversal storage outside the request memory limit and freeing it on normal return or bailout. Adds regression coverage for memory exhaustion, wide graphs, and destructor bailouts.

Allow an empty allocator diagnostic suffix in the OOM message, as used by release builds on Linux and Windows. Document why traversal storage bypasses the request limit and lives outside the bailout frame.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant