Bug 12395 – Program segfaults despite being entirely within SafeD

Status
RESOLVED
Resolution
INVALID
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-03-17T18:52:00Z
Last change time
2014-03-17T18:58:59Z
Assigned to
nobody
Creator
dspies

Attachments

IDFilenameSummaryContent-TypeSize
1339src.tar.gzthe source codeapplication/gzip3077

Comments

Comment #0 by dspies — 2014-03-17T18:52:17Z
I've annotated every class and function with @safe, but my program is still segfaulting and I can't figure out why or where. I've tried compiling under both v2.065 and v2.066-devel-f17dfa3 My understanding is that method-calls to @safe functions are guaranteed by the compiler not to segfault, so that means this the result of a DMD bug, yes? Please let me know if I misunderstood @safe. (compile with -main -unittest)
Comment #1 by dspies — 2014-03-17T18:54:06Z
Created attachment 1339 the source code Oops, Forgot the attachment
Comment #2 by dlang-bugzilla — 2014-03-17T18:58:59Z
@safe programs can still segfault, e.g. due to dereferencing a null pointer or causing a stack overflow. Your program does the latter: the functions disjunction.check_match and memo_expression.matches call each other recursively. > but my program is still segfaulting and I can't figure out why or where. To diagnose segfaults, compile your program with symbols (DMD -g switch) and run it under a debugger (such as gdb).