[Issue 4890] GC.collect() deadlocks multithreaded program.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Feb 8 14:05:43 PST 2014
https://d.puremagic.com/issues/show_bug.cgi?id=4890
Stanislav Blinov <stanislav.blinov at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |stanislav.blinov at gmail.com
Platform|x86 |x86_64
--- Comment #7 from Stanislav Blinov <stanislav.blinov at gmail.com> 2014-02-08 14:05:36 PST ---
A quick search lead me to this issue. It would appear the deadlock still
occurs.
I've been encountering it now and then, first when running singleton tests from
http://forum.dlang.org/thread/mailman.158.1391156715.13884.digitalmars-d@puremagic.com,
then when running druntime unittests (more specifically, test/shared/host)
while working on providing shared qualifiers for core.sync primitives.
At first I though it had to do with my changes to druntime, but after testing
on a clean druntime I encoutered it as well.
The deadlock doesn't happen on every run though, so may be tricky to track
down.
It's in this piece of test/shared/src/plugin.d:
23 launchThread();
24 GC.collect();
25 joinThread();
GC.collect() simply doesn't return. I haven't investigated deeper yet. Maybe it
has something to do with GC trying to pause/resume an exiting/finished thread?
This is on 64-bit Linux.
--
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list