Re: llvm10 build failure on Rpi3

From: Mark Millard via freebsd-ports <freebsd-ports_at_freebsd.org>
Date: Sat, 03 Jul 2021 08:45:26 UTC
On 2021-Jul-2, at 21:47, Mark Millard <marklmi at yahoo.com> wrote:

> On 2021-Jul-2, at 19:23, Mark Millard <marklmi at yahoo.com> wrote:
>> 
>> I just noticed that in several prior messasges I quoted the llvm-tblgen
>> command that generates the *.inc files with the odd contents instead
>> of the later compile that tried to use the output files in question.
>> 
>> This leaves open the possibility that I had incorrectly checked on if
>> the build had failed, the build possibly not having reached the part
>> that used the files as of when I declared it was past that point.
>> 
>> So I may need to rerun some tests.
> 
> I have restarted a RPi4B total_mem=1024 test build of devel/llvm10
> via poudriere (-devel).
> 
> It has:
> 
> [00:01:12] Deleting llvm10-10.0.1_5.txz: changed options
> [00:01:12] Pkg: BE_AMDGPU BE_NATIVE CLANG DOCS EXTRAS LIT LLD LLDB LLD_LINK OPENMP 
> [00:01:12] New: BE_AMDGPU BE_STANDARD CLANG DOCS EXTRAS LIT LLD LLDB LLD_LINK OPENMP PYCLANG 
> 
> as your builds vary which target it fails from from one build
> attempt to the next and this better matches what your logs
> report. I need to wait until after all the *GenGlobalISel.inc
> files for all the targets have been put to use before
> concluding that it did not fail. Your logs have gone up to
> at least 17:34:09 before reaching a failure of bad content
> in one of those files (when only devel/llvm10 was being built).
> In other words: a lot more targets used their *GenGlobalISel.inc
> file(s) before one failed.
> 
> The context for this test is based on:
> 
> # uname -apKU
> FreeBSD Rock64_RPi_4_3_2v1p2 14.0-CURRENT FreeBSD 14.0-CURRENT #1 main-n247651-a00d703f2f43-dirty: Wed Jun 30 02:02:01 PDT 2021     root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA53-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA53  arm64 aarch64 1400024 1400024
> 
> (So it predates today's workaround for allowing lang/rust to build
> via main.)
> 
> Usual rules for me for for USB3 SSD, swap/paging space
> size, etc.

Well, at this point grep usage shows that the files shown by:

# find /usr/local/poudriere/data/.m/main-CA53-default/01/wrkdirs/usr/ports/devel/llvm10/work/ -name '*GlobalISel.inc' -print
/usr/local/poudriere/data/.m/main-CA53-default/01/wrkdirs/usr/ports/devel/llvm10/work/.build/lib/Target/AArch64/AArch64GenGlobalISel.inc
/usr/local/poudriere/data/.m/main-CA53-default/01/wrkdirs/usr/ports/devel/llvm10/work/.build/lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc
/usr/local/poudriere/data/.m/main-CA53-default/01/wrkdirs/usr/ports/devel/llvm10/work/.build/lib/Target/ARM/ARMGenGlobalISel.inc
/usr/local/poudriere/data/.m/main-CA53-default/01/wrkdirs/usr/ports/devel/llvm10/work/.build/lib/Target/Mips/MipsGenGlobalISel.inc
/usr/local/poudriere/data/.m/main-CA53-default/01/wrkdirs/usr/ports/devel/llvm10/work/.build/lib/Target/RISCV/RISCVGenGlobalISel.inc
/usr/local/poudriere/data/.m/main-CA53-default/01/wrkdirs/usr/ports/devel/llvm10/work/.build/lib/Target/X86/X86GenGlobalISel.inc

do not have any examples of:

@2779096485
@0
*/,

so I doubt that the build will fail. But I've left it
running.

>> Side note:
>> 
>> It llooks like http://www.zefox.org/~bob/swaplogs/poudrierellvm10.log
>> shows that you tried with:
>> 
>> Device          1K-blocks     Used    Avail Capacity
>> /dev/da0s2b       1048576    25784  1022792     2%
>> /dev/mmcsd0s2b    1048576    25124  1023452     2%
>> Total             2097152    50908  2046244     2%
>> 
>> A gather that the problem still occurred?
> 
> "I" gather, not "A" gather.
> 
> (I can not tell which build attempt the log is for but
> I expect that you would have reported a successful build
> if one had occurred.)

FYI: at the moment . . .

# swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/gpt/Rock64swp2   3145728  1116384  2029344    35%

My odd variant of top reports for swap/paging space use:

1271Mi MaxObsUsed

(maximum observed used) and:

2180Mi MaxObs(Act+Wir+Lndry+SwapUsed)

As for RAM (each MaxObj<?> can be from a different time):

961312Ki MaxObs(Act+Wir+Lndry)
712760Ki MaxObsActive
261724Ki MaxObsWired

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)