On Sunday, 6 March 2016 at 01:28:52 UTC, Marco Leise wrote:
Got it now: https://issues.dlang.org/show_bug.cgi?id=15768
writeln() creates a copy of the stdout struct in a non
thread-safe way. If stdout has been assigned a File struct
created from a file name this copy includes a "racy"
increment/decrement of a reference count to the underlying
C-library FILE*. In the case that the reference count is
erroneously reaching 0, the file is closed prematurely and when
Glibc tries to access internal data it results in the
observable SIGSEGV.
Nice, good work!
Atila