Project

General

Profile

Actions

Bug #15383

closed

Reproducible crash: crash.rb:6: [BUG] unexpected THREAD_KILLED

Added by mbjs (Markus Schirp) over 5 years ago. Updated over 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
[ruby-core:90312]

Description

Hi,

I'm reporting a reliable crash of the ruby interpreter on contested mutexeses that are accessed in child processes.

I currently think that this happens as the child processes main thread, may be waiting for a parent process sibling thread that was holding the mutex at the time of the fork. After the fork is done, all sibling threads are dead, and the mutex detects the attempt to wait for a dead thread, bailing out.

This is simular, but not identical to the case here: https://bugs.ruby-lang.org/issues/14578

Here is a gist with some more test results on various platforms: https://gist.github.com/mbj/e6795ee5e0583c5541ee250e9942279a

I'm fine to get my hands dirty, but would need some pointers if my above conclusion points to the right direction.

Best,

Markus


Files

output.txt (21.3 KB) output.txt Crash log mbjs (Markus Schirp), 12/05/2018 01:33 PM
crash.rb (200 Bytes) crash.rb Reproduction script (super small) mbjs (Markus Schirp), 12/05/2018 01:33 PM

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #14634: Queue#push seems to crash after forkClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0