The Linux kernel in Arch got recently updated to 5.2.0 (5.2.0-arch2-1-ARCH
in detail). Today I noticed some unexcpected breakage after a clean boot, specifically some snaps are listed as broken:
Name Version Rev Tracking Publisher Notes
...
gnome-logs 61 stable canonical✓ broken
...
http 25 stable chipaca broken
icdiff 1.9.4-1 x1 - - -
love-brlin 27 stable brlin broken
...
mutt 125 stable snapcrafters broken
...
Further investigation shows the mount units failed:
$ systemctl --all --failed |grep var-lib-snapd
● var-lib-snapd-snap-gnome\x2d3\x2d26\x2d1604-88.mount loaded failed failed Mount unit for gnome-3-26-1604, revision 88
● var-lib-snapd-snap-gnome\x2dcalculator-352.mount loaded failed failed Mount unit for gnome-calculator, revision 352
● var-lib-snapd-snap-hello\x2dworld-27.mount loaded failed failed Mount unit for hello-world, revision 27
● var-lib-snapd-snap-http-25.mount loaded failed failed Mount unit for http, revision 25
● var-lib-snapd-snap-love\x2dbrlin-27.mount loaded failed failed Mount unit for love-brlin, revision 27
● var-lib-snapd-snap-mutt-125.mount loaded failed failed Mount unit for mutt, revision 125
Investigating the units:
$ systemctl status var-lib-snapd-snap-mutt-125.mount
● var-lib-snapd-snap-mutt-125.mount - Mount unit for mutt, revision 125
Loaded: loaded (/etc/systemd/system/var-lib-snapd-snap-mutt-125.mount; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-07-12 14:18:58 CEST; 2min 28s ago
Where: /var/lib/snapd/snap/mutt/125
What: /var/lib/snapd/snaps/mutt_125.snap
lip 12 14:18:56 corsair systemd[1]: Mounting Mount unit for mutt, revision 125...
lip 12 14:18:57 corsair mount[718]: mount: /var/lib/snapd/snap/mutt/125: /dev/loop26 already mounted or mount point busy.
lip 12 14:18:58 corsair systemd[1]: var-lib-snapd-snap-mutt-125.mount: Mount process exited, code=exited, status=32/n/a
lip 12 14:18:58 corsair systemd[1]: var-lib-snapd-snap-mutt-125.mount: Failed with result 'exit-code'.
lip 12 14:18:58 corsair systemd[1]: Failed to mount Mount unit for mutt, revision 125.
$ systemctl status var-lib-snapd-snap-http-25.mount
● var-lib-snapd-snap-http-25.mount - Mount unit for http, revision 25
Loaded: loaded (/etc/systemd/system/var-lib-snapd-snap-http-25.mount; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-07-12 14:18:57 CEST; 2min 37s ago
Where: /var/lib/snapd/snap/http/25
What: /var/lib/snapd/snaps/http_25.snap
lip 12 14:18:56 corsair systemd[1]: Mounting Mount unit for http, revision 25...
lip 12 14:18:57 corsair mount[659]: mount: /var/lib/snapd/snap/http/25: /dev/loop15 already mounted or mount point busy.
lip 12 14:18:57 corsair systemd[1]: var-lib-snapd-snap-http-25.mount: Mount process exited, code=exited, status=32/n/a
lip 12 14:18:57 corsair systemd[1]: var-lib-snapd-snap-http-25.mount: Failed with result 'exit-code'.
lip 12 14:18:57 corsair systemd[1]: Failed to mount Mount unit for http, revision 25.
So let’s see what /dev/loop15
and /dev/loop26
are:
$ losetup|grep -e loop15 -e loop26
/dev/loop15 0 0 1 1 /var/lib/snapd/snaps/gnome-3-28-1804_59.snap 0 512
/dev/loop26 0 0 1 1 /var/lib/snapd/snaps/mutt_115.snap 0 512
This is somewhat unexpected. Status log shows that http
snap, rev 25 was supposed to be mounted with /dev/loop26, but that is assigned to the gnome-3-28-1804
runtime snap. Clearly something went wrong with loopback device allocation. Perhaps a regression in 5.2.0 or systemd.