← Back to index
|
Original Bugzilla link
Bug 14584 – spurious autotester deadlocks
Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2015-05-14T21:41:00Z
Last change time
2016-12-30T05:13:44Z
Keywords
pull
Assigned to
nobody
Creator
code
Comments
Comment #0
by code — 2015-05-14T21:41:30Z
Happens in multithreading unittests such as core.sync.rwmutex or core.sync.semaphore. I just encountered a process that dead-locks in the the newly added synchronized statement of the rt.trace tls dtor.
https://github.com/D-Programming-Language/druntime/commit/01087ce464d3b905d16e55799d02b710fcdd9939#commitcomment-11204041
Comment #1
by code — 2015-05-14T21:52:22Z
I ran a debug build of druntime and the mutex was unlocked too often (__count == -1). The double checked locking bug in rt.critical_ (
https://github.com/D-Programming-Language/druntime/blob/e840f588d6cdc1386a1f4b1fcf7502ba171efd33/src/rt/critical_.d#L169)
might be the cause.
Comment #2
by code — 2015-05-14T23:24:16Z
https://github.com/D-Programming-Language/druntime/pull/1274
Comment #3
by safety0ff.bugz — 2016-12-30T05:13:44Z
PR was merged, I'm assuming this can be closed.