[ruby-core:117330] [Ruby master Bug#20168] Process won't exit when Ractor.select waiting a Ractor
From:
"over.rye@... (Masato Ohba) via ruby-core" <ruby-core@...>
Date:
2024-03-26 15:02:24 UTC
List:
ruby-core #117330
Issue #20168 has been updated by [email protected] (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 -- [email protected] To unsubscribe send an email to [email protected] ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/