How do I fix qubesd.service

I have upgraded two Qubes 4.2 computers to 4.3. The first worked without any issues. The 2nd one broke after the reboot required in step 3 of the process.

The issue appears to be with the qubesd.service (which results in the services after unable to start: sys-usb, sys-net, sys-firewall). As a result, I don’t have internet nor can I use usb.

From what I can see, everything else comes up OK when the computer starts.

I’ve worked with OpenAI and Claude to fix this issue. Unfortunately, Claude announced that Qubes is too difficult and could only help me if I move to a regular linux distribution. OpenAI kept insisting that I should provide it the hundreds of pages of logs and then that I could connect my Qubes 4.3 USB to Dom0. But this never worked.

Does anyone have any suggestions on how I can fix qubesd on a computer where I can log into the computer, but I don’t have internet or usb?

Here is some of the logs that OpenAI was looking for:

When I run sudo systemctl status qubesd.service I see that it’s loaded (/usr/lib/systemd/system/qubesd.service; enabled; preset: enabled). But Active: failed (Result: exit-code)
qubesd.service: Scheduled restart job, restart count is at 15
qubesd.service: Start request repeated too quickly.
qubesd.service: Failed with result ‘exit-code’
qubesd.service: Failed to start qubesd.service - Qubes OS daemon

sudo journalctl -u qubesd.service -b --no-pager | sed -n ‘1,200p’
libvirt: XML-RPC error: Cannot write data: Broken pipe
ERROR: Task was destroyed but it is pending!
task: <Task pending name=‘Task-1’ coro=virEventAsyncIOImp1._ff_callback() running at /usr/lib64/python3.13/site-packages/libvirtaio.py:329>>

sys.ext(main())
~~~~^^
File “usr/lib/python3.13/site-packages/qubes/tools/qubesd.py”, line 47, in main
args = parser.parse_args(args)
File “usr/lib/python3.13/site-packages/qubes/tools/init.py”, line 425, in parse_args
namespace.app = qubes.Qubes(
~~~~~~~~~~~^
namespace.app, offline_mode=namespace.offline_mode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “usr/lib/python3.13/site-packages/qubes/tools/app.py”, line 1040, in init
self.load(lock=lock)
~~~~~~~~~~^^^^^^^^^^

File “usr/lib/python3.13/site-packages/qubes/tools/app.py”, line 1164, in load
vm.fire_event(“domain-load”)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^

File “usr/lib/python3.13/site-packages/qubes/tools/events.py”, line 200, in fire_event
sync_effects, async_effects = self._fire_event(
~~~~~~~~~~~~~~~~^
event, kwargs, pre_event=pre_event)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

(Note: There may be some typos in the above logs, but that is because I have manually typed the above code)
Thanks,

Ignore it.


Also ignore it…


Hi. I think is missing the end of the traceback. Can you share more of the journal? If qubesd is not starting, I don’t think there is an easy way to extract information from any qube except by mounting the volumes to another OS. So, I think it’s fine for you to provide images. Maximize the terminal window to fit more logs into less photos, and share some photos.

sudo journalctl --no-pager -eu qubesd

Then you can scroll the window to sell all the recent logs.

2 Likes

Thanks for replying. As requested, here are photos when I run

sudo journalctl --no-pager -eu qubesd

To assist in seeing them in order, I’ve numbered 001 - 019

Since I am only allowed to upload 5 at a time, here photos 001 - 005:

Photos 006 - 010:

Photos 011 - 015

and finally, photos 16 - 19

For me this line sticks out:
Photo_2026-06-02_17-03-07

great, any suggestions on how I fix it?

The claude output seems relative competent to get a deeper look into it. Would you mind obeying and sharing what you find out?

Thanks for the claude suggestions.
Here are the results:



Maybe try to start and enable this services:
- virtxend.socket
- virtxend-ro.socket
- virtxend-admin.socket
- virtnodedevd.socket
- virtnodedevd-ro.socket
- virtnodedevd-admin.socket

I started and enabled all of the services that you listed without any errors.

When I checked their status, all of them show that they are loaded, enabled and active (listening) (with no errors)

This services should also running:
- xen-init-dom0.service
- qubes-db-dom0.service
- qubes-core.service
- qubes-suspend.service
- qubes-meminfo-writer-dom0.service
- qubes-qmemman.service
- qubesd.service
- qubes-qrexec-policy-daemon.service
What Kernel are you using? uname -a

I’m running 7.0.6-1.qubes.fc37.x86_64

All services okay except qmemman.service returned:

Failed to enable unit: Unit qmemman.service does not exist

Well qubesd is now running according to your screenshot.
And qmemman should be qubes-qmemman.

What happens now if you start a vm?

qmemman should be on 4.2 and 4.3.
ls /etc/systemd/system/multi-user.target.wants/qubes-qmemman.service
should be there.
Can you choose a kernel from 4.3 on boot?

Yes, if I change qmemman to qubes-qmemman I can enable and start without any errors.

I tried starting the following 3 using:

sudo qubesctl state.sls qvm.vm --set=sys-net=running
sudo qubesctl state.sls qvm.vm --set=sys-firewall=running
sudo qubesctl state.sls qvm.vm --set=sys-usb=running

And all 3 returned:

local:
Data failed to compile:
No matching sls found for qvm.vm in env ‘base’
DOM0 configuration failed, not continuing

try qvm-start sys-net

ls /etc/systemd/system/multi-user.target.wants/qubes-qmemman.service

returns

/etc/systemd/system/multi-user.target.wants/qubes-qmemman.service

Yes, yesterday I was able to choose a number of kernels that showed 4.3

that does not throw any errors