
Issue #21451 has been reported by tenderlovemaking (Aaron Patterson). ---------------------------------------- Bug #21451: Ractor.make_shareable(->{}, copy: true) raises unhelpful error https://bugs.ruby-lang.org/issues/21451 * Author: tenderlovemaking (Aaron Patterson) * Status: Open * Assignee: ractor * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- ```
ruby -e'Ractor.make_shareable(->{}, copy:true)' <internal:ractor>:828:in 'Ractor.make_shareable': allocator undefined for Proc (TypeError) from -e:1:in '<main>'
This error isn't very helpful and I think we can improve it. The exception happens when we call `rb_obj_clone` on the lambda.
I've made a patch to improve the error message so it's like this:
./miniruby -e'Ractor.make_shareable(->{}, copy:true)' -e:1:in 'Ractor.make_shareable': cannot copy #<Proc:0x000000011f311a80 -e:1 (lambda)> (Ractor::IsolationError) from -e:1:in '<main>' -e:1:in 'Ractor.make_shareable': allocator undefined for Proc (TypeError) from -e:1:in '<main>'
The patch is here: https://github.com/ruby/ruby/pull/13703
--
https://bugs.ruby-lang.org/