Compiler segfaults if not compiling with -debug #dbugfix

Anonymouse asdf at asdf.net
Sat Jun 16 00:24:24 UTC 2018


I'd like to bring #dbugfix attention to issue 18026: Stack 
overflow in ddmd/dtemplate.d:6241, 
TemplateInstance::needsCodegen()[0].

Put simply, I can only compile my code with -debug. Without it, 
dmd and ldc segfault on all of Linux, Windows and OSX.

The smallest I can dustmite it to is to 66 lines (according to 
dscanner) across a few modules. ag0aep6g managed to reduce it 
further into one file at 
https://issues.dlang.org/show_bug.cgi?id=18026#c10, which he 
notes mostly segfaults but sometimes manages to compile. I can't 
reproduce his snippet on my machines, it may or may not work for 
you. The fickleness is a theme.

There's no place to point and say "ah, there's the bug". It's 
just something emergent from a hundred little things that 
together make up something that segfaults compilers. I only know 
that it started when I added a big named enum with a few hundred 
members, and after that it's been popping up regularly. Sometimes 
it just goes away after I make some innocent, unrelated change.

> git clone https://github.com/zorael/kameloso.git -b 
> 2080-overflow1-ldc

You can try the full thing either with dub (plain or release), or 
just directly.

> $ dub build -b plain
> /usr/bin/dmd failed with exit code -11.

> $ dmd -c source/kameloso/*.d source/kameloso/plugins/*.d
> Segmentation fault (core dumped)

> $ ldc source/kameloso/*.d source/kameloso/plugins/*.d
> Segmentation fault

Help. Please. :c

[0]: https://issues.dlang.org/show_bug.cgi?id=18026


More information about the Digitalmars-d mailing list