[Pkg-d-devel] Bug#857085: terminix FTBFS on armhf: Error executing /usr/bin/ldc2: Segmentation fault

Matthias Klumpp matthias at tenstral.net
Mon Apr 24 18:04:53 UTC 2017


Hi!

Here is a short summary on the bug:

1) It only happens on Debian buildds, Fedora and Arch are not
affected. I examined the build logs and the environments are
relatively similar, with a notable difference for Fedora being that
they build with GCC 7

2) The issue itself is an infinite loop in
`TemplateInstance::needsCodegen` which shouldn't be possible, and
upstream has no idea why it happens. Debugging the issue is really
hard.

3) Suddenly we started to get the same bug reproducibly on i386
buildds as well for LDC itself, see[1]. There, the bug is in the
bootstrap process, which uses an older compiler that worked fine
already for many Debian releases. This suggests that the actual issue
might be in a different portion of the code, or something else has
changed that is now triggering the issue.

4) Compiling LDC in a i386 chroot on an arm64 host always works
without any issues - the problem appears only on the buildd (which
itself is an amd64 host...).

5) The same applied to the crash on armhf which never happens when
cross-compiling, but only on a real armhf machine.

6) The problem is not LDC being miscompiled during bootstrap, nor does
compiling with LLVM 3.8 instead of 3.9 change anything.

7) The crash disappears when running in GDB (or valgrind)

I am really out of ideas on this - upstream suggested some valgrinding
and gdb-ing, but doing that is very cumbersome as the only place where
I can reproduce this bug that isn't a Debian buildd is an armhf
porterbox (and armhf is really slow...), and as soon as you run the
application in gdb the crash vanishes.

Creating a minimized testcase would take multiple weeks on armhf, and
ultimately failed a few weeks back - but we uncovered another bug in
the process, which was resolved meanwhile, so at least something good
came out of it.

Any help would be highly appreciated!
Cheers,
    Matthias Klumpp

[1]: https://buildd.debian.org/status/fetch.php?pkg=ldc&arch=i386&ver=1%3A1.1.1-3&stamp=1493055455&raw=0



More information about the Pkg-d-devel mailing list