← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Bug 1989603] Re: Can't purge snapd in LXD: rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/...': Function not implemented

 

The answer is different depending on the system:
/var/snap/lxd/common/var/lib/lxcfs is a broken symlink on Noble, but not
on Focal. And: snapd purge+remove works on Noble, but not on Focal. See
below for reproducers.

## NOBLE ##

$ lxc launch ubuntu:noble paride-n
$ lxc exec paride-n bash
root@paride-n:~# lxd init --auto
Installing LXD snap, please be patient.

root@paride-n:~# ls -l /var/snap/lxd/common/var/lib/lxcfs
lrwxrwxrwx 1 root root 35 Dec  3 13:43 /var/snap/lxd/common/var/lib/lxcfs -> /var/snap/lxd/common/shmounts/lxcfs

root@paride-n:~# ls -l /var/snap/lxd/common/shmounts/lxcfs
ls: cannot access '/var/snap/lxd/common/shmounts/lxcfs': No such file or directory

root@paride-n:~# apt-get --yes --purge remove snapd
[...]
root@paride-n:~# echo $?
0

^^ Success

## FOCAL ##

$ lxc launch ubuntu:focal paride-f                                                                                                      
$lxc exec paride-f bash                                                                                                                
root@paride-f:~# lxd init --auto

root@paride-f:~# ls -l /var/snap/lxd/common/var/lib/lxcfs
total 0
dr-xr-xr-x 2 nobody nogroup 0 Dec  3 13:53 proc
dr-xr-xr-x 2 nobody nogroup 0 Dec  3 13:53 sys

root@paride-f:~# apt-get --yes --purge remove snapd
[...]
Removing snap lxd and revision 29619
rm: skipping '/var/snap/lxd/common/var/lib/lxcfs', since it's on a different device
dpkg: error processing package snapd (--purge):
 installed snapd package post-removal script subprocess returned error exit status 1
dmesg: read kernel buffer failed: Operation not permitted
                                                         Errors were encountered while processing:
 snapd
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@paride-f:~# echo $?
100

^^ Fail

-- 
You received this bug notification because you are a member of
Canonical's Ubuntu QA, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1989603

Title:
  Can't purge snapd in LXD: rm: cannot remove
  '/var/snap/lxd/common/var/lib/lxcfs/...': Function not implemented

Status in lxd:
  Fix Released
Status in snapd package in Ubuntu:
  Confirmed

Bug description:
  In LXD containers snapd can't be purge-removed. One tool affected by
  this bug is autopkgtest-build-lxd, which attempts to purge several
  packages (including snapd) to create a base image to run autopkgtests
  on.

  Steps to reproduce:

    lxc launch ubuntu:jammy paride-j
    lxc exec paride-j -- apt-get -y remove --purge snapd

  Kinetic is also affected, I didn't test older releases. To see how
  this affects autopkgtest-build-lxd just install autopkgtest and run:

    autopkgtest-build-lxd ubuntu:jammy

  This reminds me of LP: #1903967, but it's likely a different issue.

  --- relevant log excerpt ---

  [...]
  Purging configuration files for snapd (2.56.2+22.04ubuntu1) ...
  Stopping snap.lxd.activate.service
  Stopping unit snap.lxd.activate.service
  Waiting until unit snap.lxd.activate.service is stopped [attempt 1]
  snap.lxd.activate.service is stopped.
  Removing snap.lxd.activate.service
  Stopping snap.lxd.daemon.service
  Stopping unit snap.lxd.daemon.service
  Waiting until unit snap.lxd.daemon.service is stopped [attempt 1]
  snap.lxd.daemon.service is stopped.
  Removing snap.lxd.daemon.service
  Stopping snap.lxd.user-daemon.service
  Stopping unit snap.lxd.user-daemon.service
  Waiting until unit snap.lxd.user-daemon.service is stopped [attempt 1]
  snap.lxd.user-daemon.service is stopped.
  Removing snap.lxd.user-daemon.service
  Stopping snap-core20-1611.mount
  Stopping unit snap-core20-1611.mount
  Waiting until unit snap-core20-1611.mount is stopped [attempt 1]
  snap-core20-1611.mount is stopped.
  Removing snap core20 and revision 1611
  Removing snap-core20-1611.mount
  Stopping snap-lxd-23541.mount
  Stopping unit snap-lxd-23541.mount
  Waiting until unit snap-lxd-23541.mount is stopped [attempt 1]
  snap-lxd-23541.mount is stopped.
  Removing snap lxd and revision 23541
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/cpuinfo': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/meminfo': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/stat': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/uptime': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/diskstats': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/swaps': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/loadavg': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/proc/slabinfo': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/sys/devices/system/cpu/cpu0/cpuidle/state5/disable': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/sys/devices/system/cpu/cpu0/cpuidle/state5/above': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/sys/devices/system/cpu/cpu0/cpuidle/state5/time': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/sys/devices/system/cpu/cpu0/cpuidle/state5/rejected': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/sys/devices/system/cpu/cpu0/cpuidle/state5/power': Function not implemented
  rm: cannot remove '/var/snap/lxd/common/var/lib/lxcfs/sys/devices/system/cpu/cpu0/cpuidle/state5/residency': Function not implemented
  [...]

To manage notifications about this bug go to:
https://bugs.launchpad.net/lxd/+bug/1989603/+subscriptions