On Saturday, 4 August 2018 at 12:21:36 UTC, Alex wrote:
I'm a little bit confused by following situation:
I have code, say around 8000 lines. Now, I'm facing a build
error which just says
dmd failed with exit code -11,
(same for ldc2, with some lines of stack information, which do
not belong to my code)
0 ldc2 0x0000000106fcc4e7
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1 ldc2 0x0000000106fcb9ea
llvm::sys::RunSignalHandlers() + 83
2 ldc2 0x0000000106fcc90e
SignalHandler(int) + 239
3 libsystem_platform.dylib 0x00007fff5992af5a _sigtramp + 26
4 libsystem_platform.dylib 0x000000015fcde600 _sigtramp +
104543936
ldc2 failed with exit code -11.
Is this the entire stack trace? If dmd is also affected chances
it is a frontend bug.
As I'm compiling rather often, I know exactly which line in my
code causes this error. As the compiler refuses to exit
normally, I'm not sure, if the line is buggy (so, whether I'm
trying to compile, something, what is not compilable) or, I'm
facing an ICE.
You are.
In both cases, I'm ready to rewrite my code a
little bit to get around the error, as I need a solution quite
fast.
My assumption is, that I built a kind of loop, which the
compiler does not know how to get along. But in order to
rewrite it, I have to know, what I have to rewrite... So,
despite I know exactly the culprit line in my code, I don't
have any information about how to solve the problem.
What I'm trying now is to use dustmite. But this, lasts for
about 8 hours now and is already at depth 20. Lacking
experience with this tool, I'm not sure, if this is normal...
The last time I tried to use it elsewhere, I got a final depth
of 13, but also an empty file as its analysis result.
The command for dustmite was
dub dustmite ../dust --compiler-status=-11 --combined
Yes... the builds were also done with dub. So,
dub build
and
dub build --compiler=ldc2
respectively.
Any help is appreciated :)
Alex
A complete stack trace would be a good start.
If you can do enough manual bisection (git or semi-random
deletion of potions of code) to post the code that would also be
good.