From: "luke-gru (Luke Gruber) via ruby-core" <ruby-core@...> Date: 2024-04-26T15:59:13+00:00 Subject: [ruby-core:117728] [Ruby master Bug#20459] Ractor.select() deadlock? Issue #20459 has been updated by luke-gru (Luke Gruber). I just took a look at this and it's related to this ticket: https://redmine.ruby-lang.org/issues/20168. The linked pull request that fixes that issue also fixes this one. ---------------------------------------- Bug #20459: Ractor.select() deadlock? https://bugs.ruby-lang.org/issues/20459#change-108135 * Author: esad (Esad Hajdarevic) * Status: Open * ruby -v: ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin20] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- When I run this script ``` echo = Ractor.new { Ractor.receive } Thread.new { puts Ractor.select(echo).inspect } sleep 0.1 echo.send "test" ``` the script never terminates. If I change thread body to ``` Thread.new { puts echo.take.inspect } ``` or introduce a small delay before #select like: ``` Thread.new { sleep 1; puts Ractor.select(echo).inspect } ``` then it works/terminates. -- 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/