[Issue 14502] dmd -O optimization breaks app

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sun Apr 26 11:48:06 PDT 2015


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

--- Comment #1 from Tomáš Chaloupka <chalucha at gmail.com> ---
Its really hard for me (as a D noob) to dustmite something usable from this :(

The output from gdb is:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7aa5407 in object.TypeInfo_Class.getHash(const(void*)) () from
/opt/dmd-2.067/lib64/libphobos2.so.0.67
#0  0x00007ffff7aa5407 in object.TypeInfo_Class.getHash(const(void*)) () from
/opt/dmd-2.067/lib64/libphobos2.so.0.67
#1  0x00007ffff7ac371a in _aaInX () from
/opt/dmd-2.067/lib64/libphobos2.so.0.67
#2  0x00007ffff7ac36d0 in _aaGetRvalueX () from
/opt/dmd-2.067/lib64/libphobos2.so.0.67
#3  0x0000000000407bf8 in test.HavlakLoopFinder.DSF(test.BasicBlock,
test.UnionFindNode[], int[test.BasicBlock], int[], int) ()
#4  0x0000000000407c48 in test.HavlakLoopFinder.DSF(test.BasicBlock,
test.UnionFindNode[], int[test.BasicBlock], int[], int) ()
#5  0x0000000000407c48 in test.HavlakLoopFinder.DSF(test.BasicBlock,
test.UnionFindNode[], int[test.BasicBlock], int[], int) ()

It has deterministic behaviour, always segfaults on the 12th iteration.

I've made a PR https://github.com/kostya/benchmarks/pull/23
which ads final to classes to speed it up a bit and this problem no longer
occur with these changes - I have no idea why

--


More information about the Digitalmars-d-bugs mailing list