head -r355761 for amd64 self-hosted: installworld failed for: "btxld: not found" (-r35777 too, more sequencing evidence)

Mark Millard marklmi at yahoo.com
Sun Dec 15 21:49:49 UTC 2019



On 2019-Dec-14, at 19:13, Mark Millard <marklmi at yahoo.com> wrote:

> I give various details based on how I got past it as well
> as the original error messages.
> 
> This was a -j32 threadripper 1950X context at the start:
> the installworld with -j32 got:
> 
> --- realinstall_subdir_stand ---
> btxld -v -E 0x2000 -f bin -b /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/stand/i386/btx/btx/btx -l boot2.ldr  -o boot2.ld -P 1 boot2.bin
> . . .
> --- realinstall_subdir_stand ---
> sh: btxld: not found
> . . .
> --- realinstall_subdir_stand ---
> *** [boot2.ld] Error code 127
> 
> 
> However retrying without the -j32 got:
> 
> ===> stand/i386/btx (install)
> ===> stand/i386/btx/btx (install)
> ===> stand/i386/btx/btxldr (install)
> ===> stand/i386/btx/lib (install)
> ===> stand/i386/boot2 (install)
> btxld -v -E 0x2000 -f bin -b /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/stand/i386/btx/btx/btx -l boot2.ldr  -o boot2.ld -P 1 boot2.bin
> make[6]: exec(btxld) failed (No such file or directory)
> *** Error code 1
> 
> Stop.
> make[6]: stopped in /usr/src/stand/i386/boot2
> *** Error code 1
> 
> 
> Retrying the buildworld buildkernel and then the installworld,
> all without -j32 and without forcing it to start from
> scratch, got past the problem.
> 
> The original -j32 buildworld buildkernel log shows:
> 
> # grep "btxld\>"  ~/sys_typescripts/typescript_make_amd64_nodebug_clang-amd64-host-2019-12-14:18:01:22 | more
> --- includes_subdir_usr.sbin/btxld ---
> ===> usr.sbin/btxld (includes)
> --- all_subdir_usr.sbin/btxld ---
> ===> usr.sbin/btxld (all)
> Building /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/btxld.o
> --- all_subdir_usr.sbin/btxld ---
> Building /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/elfh.o
> Building /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/btxld.full
> --- all_subdir_usr.sbin/btxld ---
> Building /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/btxld.debug
> Building /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/btxld
> 
> The times in that directory show that the non-j32 build
> did generate btxld and btxld.debug but the btx.full was
> from the earlier -j32 build:
> 
> # ls -laTt /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/
> total 200
> -rw-r--r--    1 root  wheel    715 Dec 14 18:46:16 2019 btxld.meta
> -rwxr-xr-x    1 root  wheel  27504 Dec 14 18:46:16 2019 btxld
> -rw-r--r--    1 root  wheel    550 Dec 14 18:46:16 2019 btxld.debug.meta
> -rwxr-xr-x    1 root  wheel  28968 Dec 14 18:46:16 2019 btxld.debug
> -rwxr-xr-x    1 root  wheel  49568 Dec 14 18:19:13 2019 btxld.full
> drwxrwxr-x    2 root  wheel    512 Dec 14 18:18:54 2019 .
> -rw-r--r--    1 root  wheel   3308 Dec 14 18:18:54 2019 btxld.full.meta
> -rw-r--r--    1 root  wheel   4088 Dec 14 18:18:54 2019 elfh.o.meta
> -rw-r--r--    1 root  wheel   4880 Dec 14 18:18:54 2019 elfh.o
> -rw-r--r--    1 root  wheel   7371 Dec 14 18:18:54 2019 btxld.o.meta
> -rw-r--r--    1 root  wheel  37824 Dec 14 18:18:54 2019 btxld.o
> drwxrwxr-x  225 root  wheel   4096 Nov 22 22:53:23 2019 ..
> -rw-r--r--    1 root  wheel    971 Nov  9 08:29:35 2018 btxld.8.gz.meta
> -rw-r--r--    1 root  wheel   1429 Nov  9 08:29:35 2018 btxld.8.gz
> 
> I do not know if this is some sort of race that silently
> stopped btxld and btxld.debug from being generated (despite
> the "Building" lines).


The installworld failure happened again when I tried to update to head
-r355777 .

This time I'm looking at the buildworld directory content before trying
the not from scratch rebuild (possibly without -j32):

# ls -laTt /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/
total 200
-rwxr-xr-x    1 root  wheel  49568 Dec 15 12:14:30 2019 btxld.full
-rw-r--r--    1 root  wheel    754 Dec 15 12:14:03 2019 btxld.meta
-rwxr-xr-x    1 root  wheel  27504 Dec 15 12:14:03 2019 btxld
-rw-r--r--    1 root  wheel    735 Dec 15 12:14:03 2019 btxld.debug.meta
-rwxr-xr-x    1 root  wheel  28968 Dec 15 12:14:03 2019 btxld.debug
drwxrwxr-x    2 root  wheel    512 Dec 15 12:14:02 2019 .
-rw-r--r--    1 root  wheel   3308 Dec 15 12:14:02 2019 btxld.full.meta
-rw-r--r--    1 root  wheel   4088 Dec 15 12:14:02 2019 elfh.o.meta
-rw-r--r--    1 root  wheel   4880 Dec 15 12:14:02 2019 elfh.o
-rw-r--r--    1 root  wheel   7371 Dec 15 12:14:02 2019 btxld.o.meta
-rw-r--r--    1 root  wheel  37824 Dec 15 12:14:02 2019 btxld.o
drwxrwxr-x  225 root  wheel   4096 Nov 22 22:53:23 2019 ..
-rw-r--r--    1 root  wheel    971 Nov  9 08:29:35 2018 btxld.8.gz.meta
-rw-r--r--    1 root  wheel   1429 Nov  9 08:29:35 2018 btxld.8.gz

It looks like btxld.full finished well after btxld.debug and btxld
finished (despite btxld.full.meta being first). But the Start/Stop
figures listed in the .meta files do not show this (I edited to
align text to make comparison easier):

# cd /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/
# egrep -r "(Start|Stop)" *.meta | sort -k 3
btxld.8.gz.meta:#  Start 1541780975.497012
btxld.8.gz.meta:#  Stop  1541780975.497012
btxld.o.meta:#     Start 1576440842.623179
btxld.o.meta:#     Stop  1576440842.932180
elfh.o.meta:#      Start 1576440842.933179
elfh.o.meta:#      Stop  1576440842.974180
btxld.full.meta:#  Start 1576440842.975180
btxld.debug.meta:# Start 1576440842.998180
btxld.full.meta:#  Stop  1576440842.998180
btxld.debug.meta:# Stop  1576440843.001179
btxld.meta:#       Start 1576440843.001179
btxld.meta:#       Stop  1576440843.004179

(I did not sub-sort equal timestamps so ordering information
is not unique for such.)

After the rebuild (not from scratch but with -j32 still):

# ls -laTt /usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/usr.sbin/btxld/
total 200
-rw-r--r--    1 root  wheel    754 Dec 15 13:39:44 2019 btxld.meta
-rwxr-xr-x    1 root  wheel  27504 Dec 15 13:39:44 2019 btxld
-rw-r--r--    1 root  wheel    735 Dec 15 13:39:44 2019 btxld.debug.meta
-rwxr-xr-x    1 root  wheel  28968 Dec 15 13:39:44 2019 btxld.debug
-rwxr-xr-x    1 root  wheel  49568 Dec 15 12:14:30 2019 btxld.full
drwxrwxr-x    2 root  wheel    512 Dec 15 12:14:02 2019 .
-rw-r--r--    1 root  wheel   3308 Dec 15 12:14:02 2019 btxld.full.meta
-rw-r--r--    1 root  wheel   4088 Dec 15 12:14:02 2019 elfh.o.meta
-rw-r--r--    1 root  wheel   4880 Dec 15 12:14:02 2019 elfh.o
-rw-r--r--    1 root  wheel   7371 Dec 15 12:14:02 2019 btxld.o.meta
-rw-r--r--    1 root  wheel  37824 Dec 15 12:14:02 2019 btxld.o
drwxrwxr-x  225 root  wheel   4096 Nov 22 22:53:23 2019 ..
-rw-r--r--    1 root  wheel    971 Nov  9 08:29:35 2018 btxld.8.gz.meta
-rw-r--r--    1 root  wheel   1429 Nov  9 08:29:35 2018 btxld.8.gz


And, again, the installworld worked after that.

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



More information about the freebsd-toolchain mailing list