[Issue 11492] Executable with thread termination crashes (worked in 2.63, works on Windows)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Nov 13 14:55:36 PST 2013


https://d.puremagic.com/issues/show_bug.cgi?id=11492



--- Comment #12 from Atila Neves <atila.neves at gmail.com> 2013-11-13 14:55:32 PST ---
(In reply to comment #11)
> Apparently it crashes in the Variant code when it tests for conversion.
> Can you try the following small program with your setup?
> 
> cat > bug.d << CODE
> import std.concurrency, std.variant, std.stdio;
> 
> void main()
> {
>     Variant v;
>     v = new OwnerTerminated(thisTid);
>     if (v.convertsTo!Tid())
>         writeln("does convert");
>     else
>         writeln("doesn't convert");
> }
> CODE

It crashes on the convertsTo line. I copied std.variant into my own copy and
inserted writelns since I couldn't get gdb to tell me where it crashed.

convertsTo seems to have all its local variables in order then promptly crashes
when it calls fptr in line 633. It makes it through to handler!(A) up to line
294 then crashes on the switch. Again, no help from the debugger. I printed the
value of selector just before the switch statement and it contains, as
expected, OpID.testConversion. I also added a writeln after every case,
including default, and none of them are printed. I tried single-stepping but it
just seems to crash on the switch.

-- 
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