Mounting boot-pool/ROOT/24.04.1.1/var/ca-certificates' on '/root//var/local/ca-certificates' ... Failure

For some reason, I am now getting a failure on each boot. The problem appears to be with ZFS trying to mount ca-certificates in a /root//var/ folder, which is odd.

Once I make it continue to boot (with exit), everything gets back to normal. With zfs list -t I can see ca-certificates mounted properly:
boot-pool/ROOT/24.04.1.1/var/ca-certificates 96K 4.80G 96K /var/local/ca-certificates

The only other ca-certificate entry is for 24.04:
boot-pool/ROOT/24.04.0/var/ca-certificates 96K 4.80G 96K /var/local/ca-certificates

Any idea what is going on here? I think the extra /root// prefix is some leftover from my recent upgrade to 24.04.1.1 maybe?

Did you do any manual operations to the boot pool?

Changing properties or destroying datasets?

EDIT: can you paste “zpool history boot-pool”

2024-06-02.01:42:42 zpool import -N -f boot-pool
2024-06-02.03:45:03 py-libzfs: zpool scrub boot-pool
2024-06-02.16:28:21 zpool set autoexpand=on boot-pool
2024-06-02.16:28:42 zpool online -e boot-pool vda3
2024-06-02.16:40:05 zpool online -e boot-pool vda3
2024-06-02.16:44:28 zpool online -e boot-pool /dev/vda3
2024-06-02.16:44:52 zfs create -o mountpoint=legacy -o truenas:kernel_version=6.6.29-production+truenas -o zectl:keep=False boot-pool/ROOT/24.04.1.1
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o acltype=off -o aclmode=discard -o atime=off boot-pool/ROOT/24.04.1.1/audit
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o acltype=off -o aclmode=discard boot-pool/ROOT/24.04.1.1/conf
2024-06-02.16:44:52 zfs snapshot boot-pool/ROOT/24.04.0/data@install-2024-06-02-14-44-52
2024-06-02.16:44:52 zfs clone -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o acltype=off -o aclmode=discard -o atime=off boot-pool/ROOT/24.04.0/data@install-2024-06-02-14-44-52 boot-pool/ROOT/24.04.1.1/data
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o acltype=off -o aclmode=discard -o atime=off boot-pool/ROOT/24.04.1.1/mnt
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o acltype=off -o aclmode=discard boot-pool/ROOT/24.04.1.1/etc
2024-06-02.16:44:52 zfs snapshot boot-pool/ROOT/24.04.0/home@install-2024-06-02-14-44-52
2024-06-02.16:44:52 zfs clone -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o acltype=off -o aclmode=discard boot-pool/ROOT/24.04.0/home@install-2024-06-02-14-44-52 boot-pool/ROOT/24.04.1.1/home
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o acltype=off -o aclmode=discard boot-pool/ROOT/24.04.1.1/opt
2024-06-02.16:44:52 zfs snapshot boot-pool/ROOT/24.04.0/root@install-2024-06-02-14-44-52
2024-06-02.16:44:52 zfs clone -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o acltype=off -o aclmode=discard boot-pool/ROOT/24.04.0/root@install-2024-06-02-14-44-52 boot-pool/ROOT/24.04.1.1/root
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o acltype=off -o aclmode=discard -o atime=off boot-pool/ROOT/24.04.1.1/usr
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o acltype=off -o aclmode=discard -o atime=off boot-pool/ROOT/24.04.1.1/var
2024-06-02.16:44:52 zfs create -u -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o acltype=off -o aclmode=discard boot-pool/ROOT/24.04.1.1/var/ca-certificates
2024-06-02.16:44:52 zfs snapshot boot-pool/ROOT/24.04.0/var/log@install-2024-06-02-14-44-52
2024-06-02.16:44:53 zfs clone -o mountpoint=legacy -o canmount=noauto -o setuid=off -o devices=off -o exec=off -o atime=off boot-pool/ROOT/24.04.0/var/log@install-2024-06-02-14-44-52 boot-pool/ROOT/24.04.1.1/var/log
2024-06-02.16:45:44 zpool set bootfs=boot-pool/ROOT/24.04.1.1 boot-pool
2024-06-02.17:58:24 zfs set readonly=off boot-pool/ROOT/24.04.1.1/usr
2024-06-02.17:58:24 zfs set readonly=on boot-pool/ROOT/24.04.1.1/usr
2024-06-02.17:58:24 zfs set readonly=off boot-pool/ROOT/24.04.1.1/audit
2024-06-02.17:58:24 zfs set mountpoint=/audit boot-pool/ROOT/24.04.1.1/audit
2024-06-02.17:58:24 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/audit
2024-06-02.17:58:24 zfs set readonly=on boot-pool/ROOT/24.04.1.1/conf
2024-06-02.17:58:24 zfs snapshot boot-pool/ROOT/24.04.1.1/conf@pristine
2024-06-02.17:58:25 zfs set mountpoint=/conf boot-pool/ROOT/24.04.1.1/conf
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/conf
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/data
2024-06-02.17:58:25 zfs set mountpoint=/data boot-pool/ROOT/24.04.1.1/data
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/data
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/mnt
2024-06-02.17:58:25 zfs set mountpoint=/mnt boot-pool/ROOT/24.04.1.1/mnt
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/mnt
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/etc
2024-06-02.17:58:25 zfs snapshot boot-pool/ROOT/24.04.1.1/etc@pristine
2024-06-02.17:58:25 zfs set mountpoint=/etc boot-pool/ROOT/24.04.1.1/etc
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/etc
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/home
2024-06-02.17:58:25 zfs set mountpoint=/home boot-pool/ROOT/24.04.1.1/home
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/home
2024-06-02.17:58:25 zfs set readonly=on boot-pool/ROOT/24.04.1.1/opt
2024-06-02.17:58:25 zfs snapshot boot-pool/ROOT/24.04.1.1/opt@pristine
2024-06-02.17:58:25 zfs set mountpoint=/opt boot-pool/ROOT/24.04.1.1/opt
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/opt
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/root
2024-06-02.17:58:25 zfs set mountpoint=/root boot-pool/ROOT/24.04.1.1/root
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/root
2024-06-02.17:58:25 zfs set readonly=on boot-pool/ROOT/24.04.1.1/usr
2024-06-02.17:58:25 zfs snapshot boot-pool/ROOT/24.04.1.1/usr@pristine
2024-06-02.17:58:25 zfs set mountpoint=/usr boot-pool/ROOT/24.04.1.1/usr
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/usr
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/var
2024-06-02.17:58:25 zfs snapshot boot-pool/ROOT/24.04.1.1/var@pristine
2024-06-02.17:58:25 zfs set mountpoint=/var boot-pool/ROOT/24.04.1.1/var
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/var
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/var/ca-certificates
2024-06-02.17:58:25 zfs set mountpoint=/var/local/ca-certificates boot-pool/ROOT/24.04.1.1/var/ca-certificates
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/var/ca-certificates
2024-06-02.17:58:25 zfs set readonly=off boot-pool/ROOT/24.04.1.1/var/log
2024-06-02.17:58:25 zfs set mountpoint=/var/log boot-pool/ROOT/24.04.1.1/var/log
2024-06-02.17:58:25 zfs set org.zectl:bootloader="" boot-pool/ROOT/24.04.1.1/var/log
2024-06-02.17:58:25 zfs set readonly=on boot-pool/ROOT/24.04.1.1
2024-06-02.17:58:25 zfs snapshot boot-pool/ROOT/24.04.1.1@pristine
2024-06-02.17:58:25 zfs snapshot boot-pool/.system/samba4@update--2024-06-02-15-58--SCALE-24.04.0
2024-06-02.17:59:41 zpool import -N -f boot-pool
2024-06-02.17:59:56 py-libzfs: zfs promote boot-pool/ROOT/24.04.1.1/root
2024-06-02.17:59:56 py-libzfs: zfs promote boot-pool/ROOT/24.04.1.1/var/log
2024-06-02.17:59:56 py-libzfs: zfs promote boot-pool/ROOT/24.04.1.1/data
2024-06-02.17:59:56 py-libzfs: zfs promote boot-pool/ROOT/24.04.1.1/home
2024-06-02.18:04:46 zfs set readonly=off boot-pool/ROOT/24.04.1.1/usr
2024-06-02.18:05:27 zfs set readonly=on boot-pool/ROOT/24.04.1.1/usr
2024-06-02.19:16:01 zpool import -N -f boot-pool
2024-06-02.19:47:00 zpool import -N -f boot-pool
2024-06-02.19:55:36 zpool import -N -f boot-pool
2024-06-02.20:04:07 zpool import -N -f boot-pool
2024-06-02.20:15:19 zpool import -N -f boot-pool
2024-06-02.20:16:57 zpool import -N -f boot-pool
2024-06-02.20:18:54 zpool import -N -f boot-pool
2024-06-03.13:43:49 zpool import -N -f boot-pool
2024-06-03.19:02:44 zpool import -N -f boot-pool
2024-06-04.22:00:30 zpool import -N -f boot-pool
2024-06-05.00:54:39 zpool import -N -f boot-pool
2024-06-05.00:58:20 zpool import -N -f boot-pool
2024-06-05.01:05:38 zpool import -N -f boot-pool
2024-06-05.01:12:22 zpool import -N -f boot-pool
2024-06-05.15:13:00 zpool import -N -f boot-pool
2024-06-06.20:39:58 zpool import -N -f boot-pool
2024-06-06.20:43:05 zpool import -N -f boot-pool
2024-06-06.20:48:24 zpool import -N -f boot-pool
2024-06-06.23:27:25 zpool import -N -f boot-pool
2024-06-06.23:44:42 zpool import -N -f boot-pool
2024-06-07.11:00:19 zpool import -N -f boot-pool
2024-06-07.11:59:32 zpool import -N -f boot-pool
2024-06-07.12:19:28 zpool import -N -f boot-pool

The only manual change I made was a temporary readonly=off on boot-pool/ROOT/24.04.1.1/usr to install the OneDrive SDK.

Can you confirm whats “zfs get mountpoint boot-pool/ROOT/24.04.1.1/var/ca-certificates” after it boots?

root@truenas:~# zfs get mountpoint boot-pool/ROOT/24.04.1.1/var/ca-certificates
NAME                                          PROPERTY    VALUE                       SOURCE
boot-pool/ROOT/24.04.1.1/var/ca-certificates  mountpoint  /var/local/ca-certificates  local

@William any other ideas on how to troubleshoot this?

@wrobelda no ideas, but since you did change the root filesystem its impossible to tell what has changed.

Please let us know if you can reproduce on a pristine install.

I know exactly what I changed, basically cp -ar src/onedrivesdk /usr/lib/python3/dist-packages. It’s hard to imagine this would have any effect at all, especially since /usr/ is a separate dataset from /var

What I am asking is for ideas on where could this mount point be even coming from, there must be a reason why it is being attempted at boot time but not listed by zfs list. I am a software engineer very familiar with Linux, so happy to do some debugging, but need some hints first.

I did investigate a bit and apparently at boot time, everything is mounted into /root first:

So I checked the folder it complains about and indeed it does not exist:

.

Creating that folder manually allows mount to carry on without any issue:

So correct me if I am wrong, but the issue here is that boot-pool/ROOT/24.04.1.1./var/local dataset is missing the ca-certificate subfolder.

My best guess here is that changing /usr might have messed the ordering of listed dataset, exposing a bug in the zfs initramfs responsible for mounting the datasets.

zfs/contrib/initramfs/scripts/zfs at truenas/zfs-2.3-release · truenas/zfs · GitHub This is the script ran on boot.