[Issue 15268] New: possible deadlock for Thread.getAll/Thread.opApply w/ GC.collect

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Fri Oct 30 13:26:20 PDT 2015


https://issues.dlang.org/show_bug.cgi?id=15268

          Issue ID: 15268
           Summary: possible deadlock for Thread.getAll/Thread.opApply w/
                    GC.collect
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: druntime
          Assignee: nobody at puremagic.com
          Reporter: code at dawg.eu

This is a classical lock inversion deadlock.
GC.collect -> gclock -> thread_suspendAll -> slock
Thread.getAll -> slock -> GC.malloc -> gclock

Anyone holding slock must not use the GC.

--


More information about the Digitalmars-d-bugs mailing list