Fedora 44 template switch thin pool disaster (help!)

I have a very well running qubes system (or did). I’ve migrated from 4.2.4 to 4.3. i’ve switched templates before.

This time I simply switched the new fedora 44 template to replace the ones fedora 43 was functioning as, including sys-net.

Now NOTHING works except dom0. Any qube that I try to start, regardless of whether it has a debian or arch or any other template gives me an error saying that vm-sys-net-root-snap already exists with dev id 8836. It further says that I manually either need to remove this or to alternately add it to a new thin pool. Nothing I’ve tried works.

It even gives a warning saying i should probably contact support. So here I am!

Thank you for any and all help you might be able to give.

This is fixable without reinstall — your thin pool metadata and LVM VG metadata are out of sync. The -snap volumes are transient copies made at VM start, so removing the stale one is safe.

First check which case you’re in:
sudo lvs -a -o lv_name,thin_id qubes_dom0 | grep sys-net

If vm-sys-net-root-snap is listed:
sudo lvchange -an qubes_dom0/vm-sys-net-root-snap
sudo lvremove qubes_dom0/vm-sys-net-root-snap

If it’s NOT listed (lvremove says “failed to find logical volume”), dev_id 8836 is an orphan inside the pool metadata only. Confirm no LV in the lvs output has thin_id 8836, then delete it directly:
sudo dmsetup message /dev/mapper/qubes_dom0-vm–pool-tpool 0 “delete 8836”

(Verify pool name with sudo dmsetup ls | grep tpool.)
Then qvm-start sys-net. If other qubes fail with different IDs, repeat for each stale snap. If none of that works, last resort is lvconvert --repair qubes_dom0/vm-pool with all VMs shut down — back up first, as it rewrites pool metadata.

Thank you so much! It took these very precise commands for me to solve the lvm puzzle and my system is back up and running perfectly.

Yet another win for actual humans and a point against LLMs, none of which could figure out the right lvm approach to doing this.

Again, thank you very much!

I thought about starting a new thread, but I know that this is directly connected to the new fedora templates switch, so I’m going to post it here too. Hopefully this similarly straightforward in solution!

My default dvms also are having some kind of more obscure issue due to the attempt to switch them to fedora 44 instead of 43. The default disposable pre-loads crash on boot now, and I am unable to open the Qube-s Global Config from the gui, which I believe is due to the default-management-disp qube crashing (?)

I tried launching it from cli and at least got some output on what is happening, but I don’t want to try and debug it on my own due to prior lvm catastrophes. Here’s the output below:

qubes-global-config
Gtk-Message: 12:58:32.356: Failed to load module “colorreload-gtk-module”
Gtk-Message: 12:58:32.356: Failed to load module “window-decorations-gtk-module”
Traceback (most recent call last):
File “/usr/lib/python3.13/site-packages/qubes_config/global_config/global_config.py”, line 249, in do_activate
self.perform_setup()
~~~~~~~~~~~~~~~~~~^^
File “/usr/lib/python3.13/site-packages/qubes_config/global_config/global_config.py”, line 427, in perform_setup
self.handlers[“disposables”] = DisposablesHandler(
~~~~~~~~~~~~~~~~~~^
qapp=self.qapp, policy_manager=self.policy_manager, gtk_builder=self.builder
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/usr/lib/python3.13/site-packages/qubes_config/global_config/disposables.py”, line 434, in init
self.dispvm_list_handler = DispVmListHandler(
~~~~~~~~~~~~~~~~~^
self.qapp, self.defdispvm_handler.get_model(), gtk_builder
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/usr/lib/python3.13/site-packages/qubes_config/global_config/disposables.py”, line 194, in init
self.load_data()
~~~~~~~~~~~~~~^^
File “/usr/lib/python3.13/site-packages/qubes_config/global_config/disposables.py”, line 223, in load_data
new_row = DispVMRow(vm, self.dispvm_model, self.qapp, self.size_groups)
File “/usr/lib/python3.13/site-packages/qubes_config/global_config/disposables.py”, line 121, in init
self.load_data()
~~~~~~~~~~~~~~^^
File “/usr/lib/python3.13/site-packages/qubes_config/global_config/disposables.py”, line 129, in load_data
self.based_on.set_token(str(self.dispvm.template))
^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.13/site-packages/qubesadmin/base.py”, line 249, in getattr
raise AttributeError(item)
AttributeError: template

Thank you in advance Qubes community for any help you can provide!

That’s an unrelated bug in the dom0 package qubes-desktop-linux-manager v4.3.26:

The bugfix hasn’t been merged yet, but it’s simple a one-line change to /usr/lib/python3.13/site-packages/qubes_config/global_config/disposables.py in dom0: