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