Illegal Instruction
David Nadlinger
code at klickverbot.at
Tue Nov 7 19:58:19 UTC 2017
On 7 Nov 2017, at 18:06, Russel Winder wrote:
> 0x0000555555600c8d <+1165>: callq 0x5555555ec440
> <_D3std7variant16VariantException6__ctorMFC8TypeInfoC8TypeInfoZC3std7variant16VariantException at plt>
> 0x0000555555600c92 <+1170>: mov %rax,%rdi
> 0x0000555555600c95 <+1173>: callq 0x5555555ec180
> <_d_throw_exception at plt>
> => 0x0000555555600c9a <+1178>: ud2
> 0x0000555555600c9c <+1180>: mov %rax,%rbx
Interesting… For all the world, this looks like _d_throw_exception in
fact returned, which it never should (we put an unreachable instruction
there, which probably gets translated into ud2).
You could try using GCC's reverse debugging support to step backwards
through the code to figure out whether that's really the case, and if
so, where unwinding goes wrong.
— David
More information about the digitalmars-d-ldc
mailing list