Subject: Re: bug#43802: Knot: Linker runs very slowly and crashes during build

From: Ludovic Courtès <[email-masked]>
Date: Mon, 05 Oct 2020 16:15:53 +0200

Hi,

Simon South <[email-masked]> skribis:

> Building Knot 3.0.0 using "guix build knot" consistently appears to hang
> for me when it gets to this point during the linking stage:
>
>     CCLD     knsec3hash
>   ar: `u' modifier ignored since `D' is the default (see `U')
>     CCLD     kdig
>     CCLD     khost
>
> While it sits here the compiler is tying up 100% of a single CPU
> core. On my ROCK64 with 4 GB of RAM, it eventually crashes with an
> internal error:
>
>   gcc: internal compiler error: Killed (program cc1)
>   Please submit a full bug report,
>   with preprocessed source if appropriate.
>   See <https://gcc.gnu.org/bugs/> for instructions.
>   make[3]: *** [Makefile:5381: libzscanner/la-scanner.lo] Error 1
>   make[3]: Leaving directory '/tmp/guix-build-knot-3.0.0.drv-0/knot-3.0.0/src'
>
> dmesg shows the compiler was killed for running out of memory:
>
>   cc1 invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0
>   CPU: 2 PID: 22340 Comm: cc1 Not tainted 5.8.11-gnu #1
>   (...)
>   oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=cc1,pid=22340,uid=999
>   Out of memory: Killed process 22340 (cc1) total-vm:2573780kB, anon-rss:2540708kB, file-rss:0kB, shmem-rss:0kB, UID:999 pgtables:5044kB oom_score_adj:0
>   oom_reaper: reaped process 22340 (cc1), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
>
> On my x86_64 machine the build eventually completes (that machine has
> much more memory), but there is the same, weirdly long delay during
> linking while the compiler runs.

I this an LTO build (with ‘-flto’ in the compile and link flags)?  That
could explain the memory requirements.

Ludo’.