From: "luke-gru (Luke Gruber) via ruby-core" Date: 2024-02-16T16:34:21+00:00 Subject: [ruby-core:116800] [Ruby master Bug#20271] Issue with moving embedded string across ractors Issue #20271 has been updated by luke-gru (Luke Gruber). PR here: https://github.com/ruby/ruby/pull/9993 ---------------------------------------- Bug #20271: Issue with moving embedded string across ractors https://bugs.ruby-lang.org/issues/20271#change-106822 * Author: luke-gru (Luke Gruber) * Status: Open * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- When embedded strings are moved, the embedded bytes aren't copied over to the new embedded string. This shows itself when an embedded string has more than 16 characters, and can also be a problem when the MovedObject has been garbage collected and another object has taken its place in the ruby heap. For example: ```ruby r = Ractor.new { foo = receive puts foo foo } obj = "12345678" * 3 puts obj r.send(obj, move: true) r.take ``` ``` 123456781234567812345678 1234567812345678 ``` -- 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/