Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Sep 19, 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 : )

luke-gruber and others added 11 commits September 18, 2025 13:52
If another ractor is calling for GC, we need to prevent the current one
from joining the barrier. Otherwise, our half-built object will be marked.

The repro script was:

test.rb:
```ruby
require "objspace"
1000.times do
  ObjectSpace.trace_object_allocations do
    r = Ractor.new do
      _obj = 'a' * 1024
    end

    r.join
  end
end
```

$ untilfail lldb -b ./exe/ruby -o "target create ./exe/ruby" -o "run test.rb" -o continue

It would fail at `ractor_port_mark`, rp->r was a garbage value. Credit to John for finding the
solution.

Co-authored-by: John Hawthorn <john.hawthorn@shopify.com>
* ZJIT: Compile sendforward with dynamic dispatch

* Reload locals only if it has blockiseq

* Add a test case of ... with other args
@pull pull bot locked and limited conversation to collaborators Sep 19, 2025
@pull pull bot added the ⤵️ pull label Sep 19, 2025
@pull pull bot merged commit f72d0f3 into turkdevops:master Sep 19, 2025
1 check failed
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