Issue #19395 has been updated by luke-gru (Luke Gruber).
Subject changed from Process forking within non-main Ractor creates child stuck in busy
loop to Process forking within non-main Ractor causes segv
Sorry, my changes in my dev branch were causing some odd behavior. It just crashes on
3.2.0.
----------------------------------------
Bug #19395: Process forking within non-main Ractor causes segv
https://bugs.ruby-lang.org/issues/19395#change-101593
* Author: luke-gru (Luke Gruber)
* Status: Open
* Priority: Normal
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN
----------------------------------------
```ruby
def test_fork_in_ractor
r2 = Ractor.new do
pid = fork do
exit Ractor.count
end
pid
end
pid = r2.take
puts "Process #{Process.pid} waiting for #{pid}"
_pid, status = Process.waitpid2(pid) # stuck forever
if status.exitstatus != 1
raise "status is #{status.exitstatus}"
end
end
test_fork_in_ractor()
```
$ top # shows CPU usage is high for child process
--
https://bugs.ruby-lang.org/