Project

General

Profile

Actions

Bug #20267

closed

Hashes that use ar_table aren't moved properly across ractors

Bug #20267: Hashes that use ar_table aren't moved properly across ractors

Added by luke-gru (Luke Gruber) over 1 year ago. Updated 8 months ago.


Description

This crashes in debug build and gives weird results in non debug build, because the ar_table values aren't copied over to the new "embedded" hash during a move across ractors.

r = Ractor.new { hash = receive puts hash } obj = { "1" => 1, "2" => 2, "3" => 3, } puts obj r.send(obj, move: true) r.take 

Crash log:

/home/lukeg/workspace/ruby-build/miniruby(sigsegv+0x4d) [0x5641e67d105d] ../ruby/signal.c:926 /lib/x86_64-linux-gnu/libc.so.6(0x7fb4baa42520) [0x7fb4baa42520] /home/lukeg/workspace/ruby-build/miniruby(RB_BUILTIN_TYPE+0x0) [0x5641e6778db0] ../ruby/ractor.c:3128 /home/lukeg/workspace/ruby-build/miniruby(rbimpl_RB_TYPE_P_fastpath) ../ruby/include/ruby/internal/value_type.h:351 /home/lukeg/workspace/ruby-build/miniruby(RB_TYPE_P) ../ruby/include/ruby/internal/value_type.h:378 /home/lukeg/workspace/ruby-build/miniruby(RB_FL_ABLE) ../ruby/include/ruby/internal/fl_type.h:449 /home/lukeg/workspace/ruby-build/miniruby(RB_FL_TEST_RAW) ../ruby/include/ruby/internal/fl_type.h:471 /home/lukeg/workspace/ruby-build/miniruby(rb_ractor_shareable_p) ../ruby/include/ruby/ractor.h:256 /home/lukeg/workspace/ruby-build/miniruby(reset_belonging_enter) ../ruby/ractor.c:3121 

Related issues 1 (0 open1 closed)

Actions

Also available in: PDF Atom