From: "over.rye@... (Masato Ohba) via ruby-core" Date: 2024-03-26T15:02:24+00:00 Subject: [ruby-core:117330] [Ruby master Bug#20168] Process won't exit when Ractor.select waiting a Ractor Issue #20168 has been updated by over.rye@gmail.com (Masato Ohba). I think I have encountered the same issue. I was able to reproduce the problem using a simpler code that results in a process hang when a Ractor, which internally raises an exception, is passed to `Ractor.select`. Here is the minimal code snippet that demonstrates the issue: ```ruby ruby -e "r = Ractor.new{1/0}; Ractor.select(*[r])" ``` Notably, when I built Ruby using the branch from https://github.com/ruby/ruby/pull/9492, the issue did not occur. It appears that the changes in this branch might contain a fix or alter the behavior to prevent the hang. ---------------------------------------- Bug #20168: Process won't exit when Ractor.select waiting a Ractor https://bugs.ruby-lang.org/issues/20168#change-107474 * Author: shia (Sangyong Sim) * Status: Open * ruby -v: 3.3.0 * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- ## Reproduction code ```ruby trap(:INT) do puts "SIGINT" exit end trap(:TERM) do puts "SIGTERM" exit end r = Ractor.new do loop do sleep 1 end end Ractor.select(r) # stucked. # SIGINT/SIGTERM sent to Ruby process(confirmed by trap), # but process won't exit. ``` ## Expected behavior Process killed successfully with exit code 0. ## Affected Ruby version 3.3.0 3.2.x works as expected. -- 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/