[Issue 15939] GC.collect causes deadlock in multi-threaded environment

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue Aug 9 09:38:48 PDT 2016


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

--- Comment #17 from Илья Ярошенко <ilyayaroshenko at gmail.com> ---
(In reply to Martin Nowak from comment #16)
> (In reply to Aleksei Preobrazhenskii from comment #13)
> > All suspending signals were delivered, but it seems that number of calls to
> > sem_wait was different than number of calls to sem_post (or something
> > similar). I have no reasonable explanation for that.
> > 
> > It doesn't invalidate the hypothesis that RT signals helped with original
> > deadlock though.
> 
> To be hypothesis it must verifyable, but as we can't explain why RT signals
> would help, it's not a real hypothesis. Can anyone somewhat repeatedly
> reproduce the issue?

It is not easy to catch it on PC. The bug was found when program was running on
multiple CPUs on multiple servers during a day.

> I would suspect that this issue came with the recent parallel suspend
> feature.
> https://github.com/dlang/druntime/pull/1110, that would affect dmd >=
> 2.070.0.
> Could someone test their code with 2.069.2?

Yes, the bug was found first for 2.069.

--


More information about the Digitalmars-d-bugs mailing list