[Bug 2110891] Re: System freeze on release upgrade 24.10 oneiric to 25.04 plucky with root fs on ZFS
Benjamin Schmid
2110891 at bugs.launchpad.net
Fri Jun 13 13:24:47 UTC 2025
Hello Nick and everyone else here,
sorry, it took me several attempts and some hours to be able to
replicate the problem in a VM install of Ubuntu 24.10, as I already had
upgraded my affected installation by the hack described above: Turns out
it is not that easy to get a ZFS on root install with grub2 up'n'running
these days, if you starting from scratch.
I'm not sure if I did it correctly: I enabled "proposed" via GUI in
oneiric and ensured I'm up-to-date before starting do-release-upgrade.
Unfortunately I was unable to experience any improvement: On my two runs
from 24.10 with oneiric-proposed enabled, the first one crashed due to
an OOM kill (? 4GB machine with nothing else running except the Gnome
terminal), the second seemingly ran into the same deadlock situation.
Is do-release-upgrader supposed to pick plucky-proposed updates in my
scenario? Please advise on the expected outcome and if I match the
assumed context.
** Tags removed: verification-needed-plucky
** Tags added: verification-failed-plucky
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/2110891
Title:
System freeze on release upgrade 24.10 oneiric to 25.04 plucky with
root fs on ZFS
Status in linux package in Ubuntu:
Confirmed
Status in ubuntu-release-upgrader package in Ubuntu:
Deferred
Status in zfs-linux package in Ubuntu:
Confirmed
Status in linux source package in Plucky:
Confirmed
Status in ubuntu-release-upgrader source package in Plucky:
Fix Committed
Status in zfs-linux source package in Plucky:
Confirmed
Bug description:
[Impact]
Upgrades to 25.10 (and newer) fail as the ZFS userspace modules are newer than the kernel modules and there is some incompatibility that can cause the kernel to hang, particularly the bug observes a problem with iterating over the snapshots of the root file system freezing it.
[Test plan: ubuntu-release-upgrader]
1. Create a vm
2. Check that the upgrade doesn't trigger the screen
(no zpool exists)
3. Install zfsutils-linux
4. Check that the upgrade doesn't trigger the screen
(zpool list -H will be empty)
5. Create a zpool, for example in a file
# fallocate /swap -l 2G
# zpool create foo /swap
# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
foo 1.88G 134K 1.87G - - 0% 0% 1.00x ONLINE -
# zpool list -H
foo 1.88G 110K 1.87G - - 0% 0% 1.00x ONLINE -
6. Check that the upgrade aborts
[Where problems could occur: ubuntu-release-upgrader]
The change disables upgrades for all systems with a zpool, regardless of snapshots existing or zpool being on root, this also may include systems that could upgrade successfully.
If the code is wrong it could inadvertently block systems without ZFS
from upgrading, however this seems reasonably mitigated by the test
plan.
[Original bug report]
SUMMARY:
I'm running Ubuntu 24.10 on a ZFS root fs on LUKS which also has snapshots. As part of the release upgrade process ubuntu-release-upgrader is triggering a bug in ZFS triggered by the update-grub steps which executes ls /.zfs/snapshot/… via 10_linux_zfs and eventually causes a kernel deadlock on mount.zfs.
As the `ls` statement in question works flawlessly before the upgrade
process, I assume the hang is caused due to ZoL been replaced by apt
previously? That's why I feel this is a ubuntu-release-upgrader
package bug.
I've reported this bug also upstream at ZoL:
https://github.com/openzfs/zfs/issues/17337
DETAILED DESCRIPTION:
I've failed now 7 time to upgrade my Ubuntu 24.10 to 25.04 (Beta, RC, First Release, Today). In all cases the upgrade runs into a complete system freeze deadlock. `zfs rollback` for the rescue. Today, only using text console with screen & running `dmesg -Hxw`, `htop -d 5` and `do-release-upgrade` in parallel I finally was able to pinpoint the problem:
1. `do-release-upgrade` downloads & install all updated .deb
packages
2. Eventually, the upgrade tries to run `upgrade-grub`
3. The grub script executes the hook `10_linux_zfs` to identify the
available kernel versions for the grub boot menu
4. As part of this discovery an `ls /.zfs/snapshot/[snapshot]/etc`
is executed which causes a system freeze
5. Eventually, after a long pause the kernel reports `task ls:…
blocked for more than 122 seconds.`
6. Only option left for me is to shutdown server and revert to ZFS
snapshot I did before the upgrade
REMARKS:
* Executing "ls /.zfs/snapshot/[snapshot]/etc" and "update-grub" works successfully BEFORE upgrade
* Rebooting into the partial upgraded system, running "strace update-grub" reproduces the problem.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2110891/+subscriptions
More information about the foundations-bugs
mailing list