Help with FTBFS polybar (builds fine on salsa-ci)
Samuel Henrique
samueloph at debian.org
Mon Jun 8 22:40:50 BST 2020
Hello, first of all, thanks for the valuable inputs.
> > diffoscope timeout is 120m ... so that would more-or-less explain it why
> > the "build" takes 2+ hours...
>
> indeed, the "builds" by themselves are usually taking ~10 minutes each
> (except on armhf), plus 2 hours of diffoscope which is the one step that
> timeouts.
Ok, so apparently the build is going fine, what's timing out is diffoscope.
> > Though I built polybar using reprotest, and it completed in ~22minutes,
> > including two builds and running diffoscope.
> > The diffoscope output from my test with reprotest:
> > https://people.debian.org/~vagrant/reproducible/polybar.diffoscope.out.gz
What's interesting is that on your run I can see the following:
"[ Too much input for diff (SHA256:
36e5c892c333470e2dc1f6464264e99db67d95a2653e8c82a3936e1d387f1b96) ]"
While none of the diffs from the salsa job has this, and the
diffoscope result of debian/master is bigger than this one from your
run.
Do you know why this is happening? It looks like it's related to the
reason we are having timeouts.
> One thing you should consider: the build path length is varied nowadays.
> This means it can very easily cause shifts in the compiled binaries even
> after stripping (see the very recent bug open against debhelper to avoid
> saving RPATH when using cmake).
> Such thing won't happen during regular rebuilds, as the build path
> lenght is usually the same even when slighly different, and as such it's
> quite easier to diffoscope to build up the diff.
I've tried the suggestion from #962474 (the bug you mentioned), but
the diff is still the same, I've tried both with
"CMAKE_SKIP_RPATH=ON"[1] and "CMAKE_BUILD_RPATH_USE_ORIGIN=ON"[2].
The diff seems to be mostly made of entries like this (diff from a
build with DEB_BUILD_MAINT_OPTIONS = reproducible=+fixfilepath [branch
debian/samueloph/reproducible2]):
│ │ │ │ - 250e36: 48 8d 3d e0 b5 00 00 lea 0xb5e0(%rip),%rdi
│ │ │ │ + 250e36: 48 8d 3d e8 b5 00 00 lea 0xb5e8(%rip),%rdi
│ │ │ │ 250e3d: e8 4e a3 e6 ff callq bb190
<std::__throw_length_error(char const*)@plt>
│ │ │ │ - 250e42: 48 8d 3d d4 b5 00 00 lea 0xb5d4(%rip),%rdi
│ │ │ │ + 250e42: 48 8d 3d dc b5 00 00 lea 0xb5dc(%rip),%rdi
Do you recognize this as some pattern of a known reproducibility
issue? I'm not experienced enough to get it.
[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962474
[1] https://salsa.debian.org/debian/polybar/-/jobs/795453
[2] https://salsa.debian.org/debian/polybar/-/jobs/795526
Regards,
--
Samuel Henrique <samueloph>
More information about the Reproducible-builds
mailing list