[#115884] Windows Ruby 3.2.2: Non-English character added to Windows Registry String Value — Jay Mav via ruby-core <ruby-core@...>
Hello,
3 messages
2023/12/24
[ruby-core:115859] [Ruby master Bug#20078] StringIO cannot be moved between Ractors
From:
"forthoney (Seong-Heon Jung) via ruby-core" <ruby-core@...>
Date:
2023-12-22 14:26:49 UTC
List:
ruby-core #115859
Issue #20078 has been updated by forthoney (Seong-Heon Jung).
Thank you for the quick response!
If my understanding is correct, then there are 4 categories of Ruby objects:
1. Shareable objects (Ractors, immutable objects, etc)
2. Unshareable but sendable with copy and move
3. Unshareable but sendable with only copy (StringIO)
4. Unshareable and unsendable objects (Thread)
The documentation makes a fairly clear distinction between shareable and unshareable, but the line between the three different types of unshareable objects is a bit unclear.
What are the criteria for the different degrees of "sendability"?
----------------------------------------
Bug #20078: StringIO cannot be moved between Ractors
https://bugs.ruby-lang.org/issues/20078#change-105817
* Author: forthoney (Seong-Heon Jung)
* Status: Open
* Priority: Normal
* ruby -v: 3.2
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN
----------------------------------------
The following code will raise an unusual Ractor error.
``` ruby
require 'stringio'
r = Ractor.new { loop { Ractor.receive } }
Ractor.shareable?(StringIO.new) #=> false
r.send(StringIO.new) # passing it via copy works
r.send(StringIO.new, move: true) # <internal:ractor>:587:in `send': can not move StringIO object. (Ractor::Error)
```
I'm not 100% sure but I believe that this probably not the intended behavior considering
* The error raised is a generic `Ractor::Error` rather than something specific like Ractor::MovedError or Ractor::IsolationError
* It can be copied
* [No documentation](https://docs.ruby-lang.org/en/master/ractor_md.html) exists for this error
* I have yet to seen this happen on any other class instance
* Typo (can not -> cannot)
--
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/