ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:116779] [Ruby master Bug#20267] Hashes that use ar_table aren't moved properly across ractors
@ 2024-02-15 15:56 luke-gru (Luke Gruber) via ruby-core
  2024-02-15 16:00 ` [ruby-core:116780] " luke-gru (Luke Gruber) via ruby-core
  2024-09-20 11:08 ` [ruby-core:119269] " hsbt (Hiroshi SHIBATA) via ruby-core
  0 siblings, 2 replies; 3+ messages in thread
From: luke-gru (Luke Gruber) via ruby-core @ 2024-02-15 15:56 UTC (permalink / raw)
  To: ruby-core; +Cc: luke-gru (Luke Gruber)

Issue #20267 has been reported by luke-gru (Luke Gruber).

----------------------------------------
Bug #20267: Hashes that use ar_table aren't moved properly across ractors
https://bugs.ruby-lang.org/issues/20267

* Author: luke-gru (Luke Gruber)
* Status: Open
* Priority: Normal
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
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.

```ruby
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
```



-- 
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/postorius/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ruby-core:116780] [Ruby master Bug#20267] Hashes that use ar_table aren't moved properly across ractors
  2024-02-15 15:56 [ruby-core:116779] [Ruby master Bug#20267] Hashes that use ar_table aren't moved properly across ractors luke-gru (Luke Gruber) via ruby-core
@ 2024-02-15 16:00 ` luke-gru (Luke Gruber) via ruby-core
  2024-09-20 11:08 ` [ruby-core:119269] " hsbt (Hiroshi SHIBATA) via ruby-core
  1 sibling, 0 replies; 3+ messages in thread
From: luke-gru (Luke Gruber) via ruby-core @ 2024-02-15 16:00 UTC (permalink / raw)
  To: ruby-core; +Cc: luke-gru (Luke Gruber)

Issue #20267 has been updated by luke-gru (Luke Gruber).


I created a patch here: https://github.com/ruby/ruby/pull/9983

----------------------------------------
Bug #20267: Hashes that use ar_table aren't moved properly across ractors
https://bugs.ruby-lang.org/issues/20267#change-106804

* Author: luke-gru (Luke Gruber)
* Status: Open
* Priority: Normal
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
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.

```ruby
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
```



-- 
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/postorius/lists/ruby-core.ml.ruby-lang.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ruby-core:119269] [Ruby master Bug#20267] Hashes that use ar_table aren't moved properly across ractors
  2024-02-15 15:56 [ruby-core:116779] [Ruby master Bug#20267] Hashes that use ar_table aren't moved properly across ractors luke-gru (Luke Gruber) via ruby-core
  2024-02-15 16:00 ` [ruby-core:116780] " luke-gru (Luke Gruber) via ruby-core
@ 2024-09-20 11:08 ` hsbt (Hiroshi SHIBATA) via ruby-core
  1 sibling, 0 replies; 3+ messages in thread
From: hsbt (Hiroshi SHIBATA) via ruby-core @ 2024-09-20 11:08 UTC (permalink / raw)
  To: ruby-core; +Cc: hsbt (Hiroshi SHIBATA)

Issue #20267 has been updated by hsbt (Hiroshi SHIBATA).

Status changed from Open to Assigned
Assignee set to ko1 (Koichi Sasada)

----------------------------------------
Bug #20267: Hashes that use ar_table aren't moved properly across ractors
https://bugs.ruby-lang.org/issues/20267#change-109876

* Author: luke-gru (Luke Gruber)
* Status: Assigned
* Assignee: ko1 (Koichi Sasada)
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
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.

```ruby
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
```



-- 
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/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-09-20 11:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-15 15:56 [ruby-core:116779] [Ruby master Bug#20267] Hashes that use ar_table aren't moved properly across ractors luke-gru (Luke Gruber) via ruby-core
2024-02-15 16:00 ` [ruby-core:116780] " luke-gru (Luke Gruber) via ruby-core
2024-09-20 11:08 ` [ruby-core:119269] " hsbt (Hiroshi SHIBATA) via ruby-core

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).