
Issue #21354 has been updated by luke-gru (Luke Gruber). PR here: https://github.com/ruby/ruby/pull/13380 ---------------------------------------- Bug #21354: Symbol#to_proc is not ractor safe https://bugs.ruby-lang.org/issues/21354#change-113357 * Author: luke-gru (Luke Gruber) * Status: Open * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- There is caching in `Symbol#to_proc` (`rb_sym_to_proc`) that makes the assumption that we're always in the main ractor. With multiple ractors, this caching logic is not ractor-safe in that cached procs created in one ractor can leak into other ractors. In a debug build, this results in a `ractor_confirm_belonging` assertion failure. Ruby code that reproduces the issue: ```ruby :inspect.to_proc Ractor.new do :inspect.to_proc end.take ``` -- https://bugs.ruby-lang.org/