All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@buildroot.org,
	Giulio Benetti <giulio.benetti@micronovasrl.com>,
	Bernd Kuhls <bernd.kuhls@t-online.de>,
	Adam Duskett <aduskett@gmail.com>,
	James Hilliard <james.hilliard1@gmail.com>
Subject: [Buildroot] Some analysis of the major build failure reasons
Date: Mon, 2 Aug 2021 23:46:47 +0200	[thread overview]
Message-ID: <20210802234647.6f3df99d@windsurf> (raw)
In-Reply-To: <20210802060946.C27006062D@smtp3.osuosl.org>

Hello,

Giulio, Bernd, Adam, there are questions for you below. Thanks for your
support!

On Mon, 02 Aug 2021 06:09:39 -0000
Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

>     master   | 1903 | 802 | 53  | 2758 |

So it's getting a bit better, but we still have lots of build failures.

> Classification of failures by reason for master
> -----------------------------------------------
> 
>                   host-python3 | 50

So this is a timeout, which occurs only on James machines (that have
very high parallelism), during the compile_all.py invocation in the
build of host-python3. It fails like this:

Traceback (most recent call last):
  File "/tmp/instance-3/output-1/host/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/tmp/instance-3/output-1/host/lib/python3.9/concurrent/futures/process.py", line 317, in run
    result_item, is_broken, cause = self.wait_result_broken_or_wakeup()
  File "/tmp/instance-3/output-1/host/lib/python3.9/concurrent/futures/process.py", line 376, in wait_result_broken_or_wakeup
    worker_sentinels = [p.sentinel for p in self.processes.values()]
  File "/tmp/instance-3/output-1/host/lib/python3.9/concurrent/futures/process.py", line 376, in <listcomp>
    worker_sentinels = [p.sentinel for p in self.processes.values()]
RuntimeError: dictionary changed size during iteration

and then apparently gets stuck.

This issue had already been reported upstream several months ago:
https://bugs.python.org/issue43498

A pull request was posted: https://github.com/python/cpython/pull/24868
but not merged.

Also, a similar problem was found in another Python project that uses
somewhat the same code:
https://github.com/joblib/loky/pull/273/commits/956e8ae84ce4d385ef3a61635db7370f2645c4ad.
The fix is quite different from the one in the CPython pull request,
making it not trivial to know what is the correct fix.

I have submitted
https://patchwork.ozlabs.org/project/buildroot/patch/20210802211040.2535969-1-thomas.petazzoni@bootlin.com/
with the patch from the PR backported, and let another maintainer judge
if it's worth it.

>           libmodsecurity-3.0.5 | 47

I have applied
https://git.buildroot.org/buildroot/commit/?id=94b6fbd5823cbf94f2f76e402b0d73b473a8b64f
to fix this.

>                   libogg-1.3.5 | 39

This was a download issue affecting gcc159 only. It couldn't download
libogg-1.3.5.tar.xz from upstream due to SSL issue, but the fallback on
sources.buildroot.net returned 404. I could reproduce once, then after
fetching sources.buildroot.net/libogg/libogg-1.3.5.tar.xz from another
machine, gcc159 stopped getting a 404 for this URL.

It feels like the CDN in front of sources.buildroot.net is playing on us.

>                  pixman-0.40.0 | 31

I have investigated this. It fails only on sh4, due an internal
compiler error. It only occurs at -Os, at -O0 and -O2 it builds fine. I
have reported gcc bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101737 for this. Since I
tested only with gcc 9.3.0 for now, I've started a build with gcc 11.x,
to see how it goes.

Based on the result, I'll send a patch adding a new
BR2_TOOLCHAIN_GCC_HAS_BUG_101737 and disable -Os on pixman on SuperH
based on this.

>                        unknown | 31

I did not look into these for now.

>                   zeromq-4.3.4 | 30

Giulio: this is happening only on or1k, with a binutils assert. Do you
think this is solved by your or1k fixes?

>                     mpv-0.33.1 | 28

You manually enabled the feature 'vaapi-drm', but the autodetection check failed.

Bernd, could you have a look, perhaps ?

>             erlang-jiffy-1.0.6 | 26

This should be addressed by
https://patchwork.ozlabs.org/project/buildroot/patch/20210802135203.3059317-1-fhunleth@troodon-software.com/

>                libfuse3-3.10.4 | 23

This only happens on Microblaze, with:

../lib/fuse_loop_mt.c:361:1: error: symver is only supported on ELF platforms

Giulio, does it ring a bell to you ? It's weird because Microblaze is
using ELF binaries.

>                     ffmpeg-4.4 | 22

/tmp/ccDU0nYS.s: Assembler messages:
/tmp/ccDU0nYS.s:2136: Error: opcode not supported on this processor: mips32 (mips32) `dmult $20,$20'
/tmp/ccDU0nYS.s:2138: Error: opcode not supported on this processor: mips32 (mips32) `dsrl $21,$21,32'

I tried looking into this, but I'm not entirely clear how the detection
of the MIPS variant is done in the ffmpeg configure script.

Bernd, perhaps ?

>                    gconf-3.2.6 | 22

make[4]: *** No rule to make target 'GConf-2.0.typelib', needed by 'all-am'.  Stop.

Adam, isn't this GOI related ?

>              libmediaart-1.9.4 | 21

make[3]: *** No rule to make target 'MediaArt-2.0.typelib', needed by 'all'.  Stop.

Ditto. Adam, isn't this GOI related ?

>            optee-client-3.13.0 | 20

I pushed fixes for these issues.

>                nfs-utils-2.5.4 | 19

I assume would be fixed by
https://patchwork.ozlabs.org/project/buildroot/patch/20210802172116.10073-1-petr.vorel@gmail.com/

>   gobject-introspection-1.68.0 | 18

Adam ?

>                      gpsd-3.21 | 17

Giulio, the workaround to pass -O0 no longer works for some reason. -O0
is still passed, but -O2 is passed *after*, causing the build issue to
pop up again. Could you have a look ?

>                     qemu-6.0.0 | 17

../subprojects/libvhost-user/libvhost-user.c:1637:22: error: 'F_ADD_SEALS' undeclared (first use in this function)

Smells like a kernel headers dependency missing on a particular Qemu
feature, or something like this.

>                 harfbuzz-2.8.2 | 14

On ARC, toolchain issue: /tmp/ccYRTbeW.s:2996: Error: operand out of range (0x0000000000001036 is not between 0xfffffffffffff000 and 0x0000000000000fff)

On ARMv6 (only), a weird issue with mutexes:

../src/hb-mutex.hh:88:2: error: #error "Could not find any system to define mutex macros."
   88 | #error "Could not find any system to define mutex macros."


>                libgtk2-2.24.33 | 7 

Bernd, these are also .typelib related.

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

  reply	other threads:[~2021-08-02 21:46 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-02  6:09 [Buildroot] [autobuild.buildroot.net] Daily results for 2021-08-01 Thomas Petazzoni
2021-08-02 21:46 ` Thomas Petazzoni [this message]
2021-08-02 22:56   ` [Buildroot] Some analysis of the major build failure reasons Giulio Benetti
2021-08-02 23:38     ` Giulio Benetti
2021-08-03  2:43     ` James Hilliard
2021-08-03  6:29       ` Giulio Benetti
2021-08-03  7:28     ` Thomas Petazzoni
2021-08-03 10:04       ` Arnout Vandecappelle
2021-08-03 10:11         ` Thomas Petazzoni
2021-08-03 14:41           ` Arnout Vandecappelle
2021-08-03 12:24       ` Giulio Benetti
2021-08-03 12:48         ` Giulio Benetti
2021-08-04 10:04           ` Giulio Benetti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210802234647.6f3df99d@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --cc=aduskett@gmail.com \
    --cc=bernd.kuhls@t-online.de \
    --cc=buildroot@buildroot.org \
    --cc=giulio.benetti@micronovasrl.com \
    --cc=james.hilliard1@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.