[ruby-core:122094] [Ruby Bug#17998] ractor: process hanging (with ractors initialized, but not being used)

Issue #17998 has been updated by byroot (Jean Boussier). Status changed from Assigned to Closed The reproduction steps aren't very clear to me. But the backtrace shows `fork` and `finalizers` are involved. Since Ractors received fixes around this area recently and the issue date back to 3.0.1, I'm going to assume it has been fixed. If not we're likely to run into it soon. ---------------------------------------- Bug #17998: ractor: process hanging (with ractors initialized, but not being used) https://bugs.ruby-lang.org/issues/17998#change-113248 * Author: chucke (Tiago Cardoso) * Status: Closed * Assignee: ractor * ruby -v: 3.0.1 * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- I couldn't figure out how to reproduce this in a more contained way, so I'll share what I'm doing [in this minitest branch](https://github.com/HoneyryderChuck/minitest/tree/issue-872). I'm trying to make minitest's parallel mode use ractors. If you look at the last commit of the branch, I'm: * replacing the parallel executor with a ractor-based one; * I'm defining the ractor executor, where I have a ractor pipe that a pool will consume work from * I'm turning off parallel subset of tests (to reproduce the bug that I'll be describing). When I run `rake test` in my Mac (BigSur 11.4), the process hangs. I can see that the ractor threads are executing and running, but the test process doesn't respond to the INFO signal interrupt (which should tell me where the process is hanging). This seems like a bug in the VM, as no work is being sent to the parallel executor, i.e. all ractors should be sleeping (I've `puts`'d also the executor shutdown process, and it never reaches it). If I replace the ractor-based executor back with the thread based executor, everything works as expected. ---Files-------------------------------- bug17998-0001.log (58.3 KB) -- https://bugs.ruby-lang.org/
participants (1)
-
byroot (Jean Boussier)