Container error after switching host OS

I recently switched one of my servers from Ubuntu to Arch (mainly to try something different), and now I’m getting really strange errors from one of my containers:

$ lxc  info --show-log Kiki
Name: Kiki
Location: none
Remote: unix://
Architecture: x86_64
Created: 2020/10/30 17:54 UTC
Status: Stopped
Type: container
Profiles: default, zfswrite

Log:

lxc Kiki 20210425124648.304 ERROR    utils - utils.c:open_devnull:1286 - Operation not permitted - Can't open /dev/null
lxc Kiki 20210425124648.305 WARN     start - start.c:do_start:1358 - Failed to ajust stdio permissions

(also there’s a typo in the above error message, fwiw)

Container config:

$ lxc config show Kiki
architecture: x86_64
config:
  boot.autostart: "false"
  boot.autostart.delay: "60"
  boot.autostart.priority: "98"
  image.architecture: amd64
  image.description: ubuntu 20.10 amd64 (release) (20201022.1)
  image.label: release
  image.os: ubuntu
  image.release: groovy
  image.serial: "20201022.1"
  image.type: squashfs
  image.version: "20.10"
  limits.cpu: "4"
  limits.memory: 4096MB
  linux.kernel_modules: wireguard
  volatile.base_image: 561554cde9b9d9799bcc4076b6747a8eec5113ea0e63f2df0fedc52490ab69fb
  volatile.eth0.hwaddr: 12:f1:f3:74:cf:73
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":1010},{"Isuid":false,"Isgid":true,"Hostid":1010,"Nsid":1010,"Maprange":1},{"Isuid":false,"Isgid":true,"Hostid":101011,"Nsid":1011,"Maprange":999998989}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":1010},{"Isuid":false,"Isgid":true,"Hostid":1010,"Nsid":1010,"Maprange":1},{"Isuid":false,"Isgid":true,"Hostid":101011,"Nsid":1011,"Maprange":999998989}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":1010},{"Isuid":false,"Isgid":true,"Hostid":1010,"Nsid":1010,"Maprange":1},{"Isuid":false,"Isgid":true,"Hostid":101011,"Nsid":1011,"Maprange":999998989}]'
  volatile.last_state.power: STOPPED
  volatile.uuid: 538bdcb3-4ee4-4fae-97a0-5386e63afca9
  root:
    path: /
    pool: default
    type: disk
  tun:
    path: /dev/net/tun
    type: unix-char
ephemeral: false
profiles:
- default
- zfswrite
stateful: false
description: ""

The container is a wireguard vpn client, and if I don’t disable the shell script that creates the wireguard connection (it runs in the container) I get all sorts of weird errors like the interface not getting an IP address, sudo not working, and even bash completion breaking.

I don’t remember exactly what LXD version was running on my ubuntu server, but I was using the snap package at stable. The current version of LXD on my arch server is 4.13.

I just found this issue: Container fails to start properly when a USB device is attached to the container before start up

Is it possible they’re related?

How would I apply the fix in the pull request? I remember on snap I could just change the tracking target. Would I need to build it from source?

booted up an old computer with Ubuntu 21.04, set snap to the edge channel, and moved the container to it (I love how easy that is, btw). Can confirm the container started working again.

What are my options for my arch server? Ideally I’d like the container to run on that server, since the new box has very slow drives in it. How long does it take for changes like this to filter down to the Arch release?

The fix for this is:

This will be included in LXD 4.14 which should be released in a couple of weeks. After that its up to the Arch team to update their package management system with that version, so best place to ask would be the Arch community.

Thanks for confirmation.
Looks like Arch released 4.13 only a day or so after the github release, so I’ll just suffer through with my backup server for now.