Subject: bug#21803: guitarix non-reproducible hard to reproduce

From: Ludovic Courtès <[email-masked]>
Date: Mon, 18 Nov 2019 21:29:36 +0100

Hello,

zimoun <[email-masked]> skribis:

> On Sat, 16 Nov 2019 at 17:12, Ludovic Courtès <[email-masked]> wrote:

[...]

>> My intuition :-) is that waf traverses files using directly
>> opendir/readdir, which returns files in an order that’s file
>> system-dependent.  That, in turn, leads it to make .so a symlink or not
>> in a non-deterministic fashion.
>
> Yes, it should come from the function 'os.listdir' (readdir). The
> documentation [1] says: "The list is in arbitrary order."
>
> [1] https://docs.python.org/2/library/os.html#os.listdir
>
>
> The function 'os.listdir' is called some times ;-)

Hmm.

BTW, did you try comparing both build logs, in particular the lines
corresponding to the creation of the offending .so file?  That might
help narrow the search space.

Also, we can play with disorderfs to perhaps reproduce the problem
locally and be in more favorable debugging conditions.

>> It would also be worth checking what others involved in the Reproducible
>> Builds effort have done (Debian, openSuSE, etc.).
>
> Lot of sun for Debian [2] ;-)
> I mean from what I understand, they do not find any reproducibility
> issue and they apply only this patch [3].

Heh, OK.

Thanks,
Ludo’.