Skip to content

Comments

[pull] master from ruby:master#178

Merged
pull[bot] merged 8 commits intoturkdevops:masterfrom
ruby:master
Aug 16, 2025
Merged

[pull] master from ruby:master#178
pull[bot] merged 8 commits intoturkdevops:masterfrom
ruby:master

Conversation

@pull
Copy link

@pull pull bot commented Aug 16, 2025

See Commits and Changes for more details.


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

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

k0kubun and others added 8 commits August 15, 2025 19:29
rb_gc_shutdown_call_finalizer_p returns false for threads and fibers, so
it should probably do the same for all Ractors (not just the main one).

This hopefully mitigates a bug where, at exit, rb_ractor_terminate_all
gets all Ractors to stop before continuing with the shutdown process.
However when vm->ractor.cnt reaches 1, the native threads may still be
running code at the end co_start, which reads/locks on
th->ractor->threads.sched, so the Ractor is not safe to free.

A better solution might be to ensure that all native threads end up
stopped or otherwise parked before this part of the shutdown, however
that would be a bit more involved.
I spent a long time bisecting some largish program before realizing
that failure was in fact coming from the child timing out due to
zjit_bisect.rb not clearing the stdout and stderr pipe.

Fix the pipe deadlock by redirecting to /dev/null. This sacrifices
the debug output during boot, but for that we also get to remove
a lot of code and the dependency on Open3.
At under a minute, this check runs faster than a lot of the other CI
checks, so we might as well show errors from `cargo check` to serve as a
smoke check in addition to surfacing warnings.
@pull pull bot locked and limited conversation to collaborators Aug 16, 2025
@pull pull bot added the ⤵️ pull label Aug 16, 2025
@pull pull bot merged commit db3d82b into turkdevops:master Aug 16, 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.

4 participants