[Issue 4150] std.signals causes memory corruption and heisenbugs

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 27 08:57:11 PST 2013


http://d.puremagic.com/issues/show_bug.cgi?id=4150



--- Comment #4 from Denis Shelomovskij <verylonglogin.reg at gmail.com> 2013-02-27 19:57:10 MSK ---
(In reply to comment #0)
> Looking into std.signal, there are several problems:
> - Signal.emit doesn't check if the objects are still alive (probably the cause
> for this bug)
> - it calls rt_detachDisposeEvent on a possibly dead object in Signal.~this (may
> be the cause for the segfault)

These are thread-related issues as GC collects and calls finalizers from
different thread. See Issue 9606.

> - it silently assumes the context ptr of a delegate is a D object (unrelated to
> this bug)

This is documented now but still too bad. See Issue 9603.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list