At least on 11.4 i386 freebsd-update gets confused about architecture, breaking the jail due to mixed ABI. My 12.2/13.0 i386 jails are NOT affected (14.0 i386 is built from source + freebsd-update doesn't support -CURRENT). Creating another 11.4 i386 jail still produces mixed ABI because poudriere runs freebsd-update at the end. $ poudriere jail -l | fgrep 114i386 114i386 11.4-RELEASE-p7 i386 ftp 2021-01-31 00:10:14 /poudriere/jails/114i386 $ file /poudriere/jails/114i386/libexec/ld-elf.so.1 /poudriere/jails/114i386/libexec/ld-elf.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (FreeBSD), dynamically linked, stripped $ poudriere jail -uj 114i386 [00:00:00] Upgrading using ftp Looking up update.FreeBSD.org mirrors... 2 mirrors found. Fetching metadata signature for 11.4-RELEASE from update1.freebsd.org... done. Fetching metadata index... done. Fetching 2 metadata patches.. done. Applying metadata patches... done. Fetching 2 metadata files... done. Inspecting system... done. Preparing to download files... done. Fetching 15 patches.....10.. done. Applying patches... done. Fetching 54 files... ....10....20....30....40....50.. done. The following files will be updated as part of updating to 11.4-RELEASE-p11: /bin/freebsd-version /lib/libc.so.7 /lib/libcrypto.so.8 /lib/libgcc_s.so.1 /libexec/ld-elf.so.1 /rescue/[ /rescue/atmconfig /rescue/badsect /rescue/bectl /rescue/bsdlabel /rescue/bunzip2 /rescue/bzcat /rescue/bzip2 /rescue/camcontrol /rescue/cat /rescue/ccdconfig /rescue/chflags /rescue/chgrp /rescue/chio /rescue/chmod /rescue/chown /rescue/chroot /rescue/clri /rescue/cp /rescue/csh /rescue/date /rescue/dd /rescue/devfs /rescue/df /rescue/dhclient /rescue/disklabel /rescue/dmesg /rescue/dump /rescue/dumpfs /rescue/dumpon /rescue/echo /rescue/ed /rescue/ex /rescue/expr /rescue/fastboot /rescue/fasthalt /rescue/fdisk /rescue/fsck /rescue/fsck_4.2bsd /rescue/fsck_ffs /rescue/fsck_msdosfs /rescue/fsck_ufs /rescue/fsdb /rescue/fsirand /rescue/gbde /rescue/geom /rescue/getfacl /rescue/glabel /rescue/gpart /rescue/groups /rescue/gunzip /rescue/gzcat /rescue/gzip /rescue/halt /rescue/head /rescue/hostname /rescue/id /rescue/ifconfig /rescue/init /rescue/ipf /rescue/iscsictl /rescue/iscsid /rescue/kenv /rescue/kill /rescue/kldconfig /rescue/kldload /rescue/kldstat /rescue/kldunload /rescue/ldconfig /rescue/less /rescue/link /rescue/ln /rescue/ls /rescue/lzcat /rescue/lzma /rescue/md5 /rescue/mdconfig /rescue/mdmfs /rescue/mkdir /rescue/mknod /rescue/more /rescue/mount /rescue/mount_cd9660 /rescue/mount_msdosfs /rescue/mount_nfs /rescue/mount_nullfs /rescue/mount_udf /rescue/mount_unionfs /rescue/mt /rescue/mv /rescue/nc /rescue/newfs /rescue/newfs_msdos /rescue/nos-tun /rescue/pgrep /rescue/ping /rescue/ping6 /rescue/pkill /rescue/poweroff /rescue/ps /rescue/pwd /rescue/rcorder /rescue/rcp /rescue/rdump /rescue/realpath /rescue/reboot /rescue/red /rescue/rescue /rescue/restore /rescue/rm /rescue/rmdir /rescue/route /rescue/routed /rescue/rrestore /rescue/rtquery /rescue/rtsol /rescue/savecore /rescue/sed /rescue/setfacl /rescue/sh /rescue/shutdown /rescue/sleep /rescue/spppcontrol /rescue/stty /rescue/swapon /rescue/sync /rescue/sysctl /rescue/tail /rescue/tar /rescue/tcsh /rescue/tee /rescue/test /rescue/tunefs /rescue/umount /rescue/unlink /rescue/unlzma /rescue/unxz /rescue/vi /rescue/whoami /rescue/xz /rescue/xzcat /rescue/zcat /rescue/zdb /rescue/zfs /rescue/zpool /sbin/devd /sbin/dhclient /sbin/init /sbin/rtsol /usr/bin/ar /usr/bin/as /usr/bin/c++ /usr/bin/cc /usr/bin/clang /usr/bin/clang++ /usr/bin/clang-cpp /usr/bin/cpp /usr/bin/ld /usr/bin/ld.bfd /usr/bin/ld.lld /usr/bin/make /usr/bin/ranlib /usr/bin/svnlite /usr/bin/svnliteadmin /usr/bin/svnlitebench /usr/bin/svnlitedumpfilter /usr/bin/svnlitefsfs /usr/bin/svnlitelook /usr/bin/svnlitemucc /usr/bin/svnliterdump /usr/bin/svnliteserve /usr/bin/svnlitesync /usr/bin/svnliteversion /usr/include/sys/filedesc.h /usr/include/sys/jail.h /usr/lib/libc.a /usr/lib/libc_p.a /usr/lib/libc_pic.a /usr/lib/libcompiler_rt.a /usr/lib/libcompiler_rt_p.a /usr/lib/libcrypto.a /usr/lib/libcrypto_p.a /usr/lib/libhdb.so.11 /usr/lib/libpam.a /usr/lib/libprivatesqlite3.a /usr/lib/libprivatesqlite3.so.0 /usr/lib/libprivatesqlite3_p.a /usr/lib/libprivateunbound.a /usr/lib/libprivateunbound.so.5 /usr/lib/libprivateunbound_p.a /usr/lib/libradius.a /usr/lib/libradius.so.4 /usr/lib/libradius_p.a /usr/lib/pam_login_access.so.6 /usr/lib/pam_radius.so.6 /usr/libexec/ftpd /usr/sbin/freebsd-update /usr/sbin/local-unbound /usr/sbin/local-unbound-anchor /usr/sbin/local-unbound-checkconf /usr/sbin/local-unbound-control /usr/sbin/nologin /usr/sbin/ppp /usr/sbin/rtsold /usr/share/man/man2/jail.2.gz /usr/share/man/man2/jail_attach.2.gz /usr/share/man/man2/jail_get.2.gz /usr/share/man/man2/jail_remove.2.gz /usr/share/man/man2/jail_set.2.gz /usr/src/lib/libc/sys/jail.2 /usr/src/lib/libpam/modules/pam_login_access/login_access.c /usr/src/lib/libradius/radlib.c /usr/src/sys/conf/newvers.sh /usr/src/sys/dev/xen/blkback/blkback.c /usr/src/sys/kern/kern_descrip.c /usr/src/sys/kern/kern_fork.c /usr/src/sys/kern/kern_jail.c /usr/src/sys/kern/vfs_mount.c /usr/src/sys/sys/filedesc.h /usr/src/sys/sys/jail.h /usr/src/sys/vm/vm_fault.c /usr/src/usr.sbin/freebsd-update/freebsd-update.sh Installing updates...Scanning /poudriere/jails/114i386/usr/share/certs/blacklisted for certificates... Scanning /poudriere/jails/114i386/usr/share/certs/trusted for certificates... done. 11.4-RELEASE-p11 [00:01:20] Recording filesystem state for clean... done $ file /poudriere/jails/114i386/libexec/ld-elf.so.1 /poudriere/jails/114i386/libexec/ld-elf.so.1: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, stripped $ file /poudriere/jails/114i386/lib/libthr.so.3 /poudriere/jails/114i386/lib/libthr.so.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (FreeBSD), dynamically linked, stripped
I have this problem too, with ports-mgmt/poudriere-devel. The "importance" field should be changed to "Affects some people" IMO.
Ah, so this is why my 11 and 12 i386 jails are broken.
> freebsd-update in 11.4 i386 jail [...] Not only in an 11.4 i386 jail, but in an 12.2 i386 jail too: find /poudriere/jails/122i386/{bin,sbin,usr/bin,usr/sbin,usr/lib} |\ xargs file | grep "64-bit LSB" | wc -l The above will find 13 64-bit binaries.
(In reply to Victor Sudakov from comment #3) Thanks for a one-liner. 13.0 i386 appears to be affected as well. /poudriere/jails/130i386/usr/bin/dc: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 13.0 (1300139), FreeBSD-style, stripped /poudriere/jails/130i386/usr/bin/bc: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 13.0 (1300139), FreeBSD-style, stripped /poudriere/jails/130i386/usr/lib/libradius.so.4: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, for FreeBSD 13.0 (1300139), stripped
*** Bug 256659 has been marked as a duplicate of this bug. ***
This is specific to Poudriere-devel where I changed how freebsd-update is used.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=25060b9198097c19f5bb5daf9bcbb271d4f5a8e7 commit 25060b9198097c19f5bb5daf9bcbb271d4f5a8e7 Author: Bryan Drewery <bdrewery@FreeBSD.org> AuthorDate: 2021-06-17 21:57:59 +0000 Commit: Bryan Drewery <bdrewery@FreeBSD.org> CommitDate: 2021-06-17 22:01:15 +0000 ports-mgmt/poudriere-devel: Update to 3.3.0-738-g9839954fb Changes - testport: Show logs info on depend build failures - MUTABLE_BASE=schg: Support writing to /boot/firmware for cpu microcode - jail -x: This is not limited to src builds - bulk: Don't run 'bulk crashed' hook on -f failures - Add git hash annotation into built packages. - jail -cu: Fix freebsd-update using wrong arch [1] - Update log parsing reasons (processonelog.sh) PR: 256652 [1] ports-mgmt/poudriere-devel/Makefile | 4 ++-- ports-mgmt/poudriere-devel/distinfo | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)