[ruby-core:122600] [Ruby Bug#21451] Ractor.make_shareable(->{}, copy: true) raises unhelpful error
From:
"tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>
Date:
2025-06-25 19:06:25 UTC
List:
ruby-core #122600
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/
______________________________________________
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/