Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Oct 27, 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 : )

BurdetteLamar and others added 4 commits October 26, 2025 15:04
Fixes a segmentation fault when moving nested objects between ractors with GC stress enabled and YJIT.

The issue is a timing problem: `move_enter` allocates new object shells but leaves their contents uninitialized until `move_leave` copies the actual data. If GC runs between these steps (which GC stress makes likely), it tries to follow what appear to be object pointers but are actually uninitialized memory, encountering null or invalid addresses.

The fix zero-initializes the object contents immediately after allocation in `move_enter`, ensuring the GC finds safe null pointers instead of garbage data.

The crash reproduced most consistently with nested hashes and YJIT, likely because nested structures create multiple uninitialized objects simultaneously while YJIT's memory usage increases the probability of GC triggering during moves.
@pull pull bot locked and limited conversation to collaborators Oct 27, 2025
@pull pull bot added the ⤵️ pull label Oct 27, 2025
@pull pull bot merged commit 52ea222 into turkdevops:master Oct 27, 2025
1 of 2 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.

3 participants