[ruby-core:122514] [Ruby Bug#21368] Moving objects with finalizer between Ractors crashes
From:
"osyoyu (Daisuke Aritomo) via ruby-core" <ruby-core@...>
Date:
2025-06-11 10:46:39 UTC
List:
ruby-core #122514
Issue #21368 has been updated by osyoyu (Daisuke Aritomo).
Maybe this ticket should be merged with https://bugs.ruby-lang.org/issues/21315 ?
----------------------------------------
Bug #21368: Moving objects with finalizer between Ractors crashes
https://bugs.ruby-lang.org/issues/21368#change-113737
* Author: peterzhu2118 (Peter Zhu)
* Status: Assigned
* Assignee: ractor
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
When an object is moved to a different Ractor, the finalizers are not copied to the new object, so it will have the `FL_FINALIZE` flag set but no entry in the finalizer table.
The following script crashes:
```ruby
r = Ractor.new do
loop { Ractor.receive }
end
1_000.times do
o = Object.new
ObjectSpace.define_finalizer(o, proc { |id| })
r.send(o, move: true)
end
```
---Files--------------------------------
0001-Bug-21368-Transfer-finalizer-when-moving-between-Rac.patch (883 Bytes)
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/