[Buildroot] Analysis of build failures

Thomas De Schampheleire patrickdepinguin at gmail.com
Sun Jun 15 14:11:19 UTC 2014


Hi Thomas,

On Sun, Jun 15, 2014 at 12:42 PM, Thomas Petazzoni
<thomas.petazzoni at free-electrons.com> wrote:
> Dear Thomas De Schampheleire,
>
> On Sun, 15 Jun 2014 12:36:44 +0200, Thomas De Schampheleire wrote:
>
>> Could you clarify why we need a timeout in the first place? Have
>> there been occurrences of builds that get stuck (in a loop or
>> otherwise)? According to me, it doesn't matter that a build takes ten
>> hours for a given configuration, as long as it progresses and doesn't
>> get stuck...
>
> The reason a timeout was introduced is because there used to be an old
> PowerPC toolchain in which 'ld' had a bug, and this bug caused ld to
> enter an infinite loop, consuming 100% of the CPU forever, when linking
> a specific piece of code. There have been occurrences where my build
> server has remained stuck for several days in this infinite loop before
> I realized that the builds were no longer occurring, and figured out
> what was going on.
>
> I don't think we still have this toolchain tested in the current
> configurations, but the timeout mechanism has remained in place, and I
> believe it's still possible to have similar issues in the future.
>

If we can agree that the situation is rare, than we could keep things
simple and make the timeout relatively large, say 10 hours. This
reduces the false positives due to big configurations, but still
prevent endless builds. In the good cases, no timeout is effectively
present and all builds can run to completion. In the exceptional bad
case of an endless loop, there is a large penalty of 10 hours (or
whatever the timeout value) but since this should only happen
exceptionally it is acceptable. These situations should be
investigated in detail anyway and resolved shortly after (ideally).

The other solutions you proposed have their value too, but make things
more complex while not really necessary IMO.

Best regards,
Thomas



More information about the buildroot mailing list