-
-
Notifications
You must be signed in to change notification settings - Fork 53
Description
Qubes OS release
Qubes OS r4.3 rc1 - Only Fedora 43 Template (at this moment).
Brief summary
Python 3.14 will be the default for Fedora 43. It deprecates calling asyncio.get_event_loop()
if there is no current event loop (details here).
This will break a bunch of Qubes OS tools. It was found 1st in qvm-start-daemon
for a sys-audio
qube. But the same error might be present in Qui Widget tools (if used in a Fedora 43 based sys-gui*
). Or Qube Manager and many other corners.
Steps to reproduce
In Python 3.14 in Fedora 43 try:
import asyncio
loop = asyncio.get_event_loop()
Observe the error and compare with previous Python version in older templates.
Expected behavior
Qubes tools which depend on asyncio should initialize the event loop with:
loop = new_event_loop()
asyncio.set_event_loop(loop)
before calling asyncio.get_event_loop()
Actual behavior
A list of tools which should be fixed to allow running on Fedora 43 (list will be updated)
-
qubes-core-admin-client
:qvm-start-daemon
,qvm-shutdown
,qvm-template
(post process),qvm-backup
-
qubes-app-linux-pdf-converter
: Client & Server -
qubes-desktop-linux-manager
: Qui Clipboard, Qui Device Widget, Qui Domains, Qui Updates, Updater (summary page),qubes-device-agent.py
-
qubes-gui-daemon
:icon-reciever
-
(most probably does not require a fix).qubes-gui-agent-linux
:icon-sender
-
qubes-doc
: Deveoper -> Services ->qrexec-socket-services.rst
-
qubes-desktop-linux-menu
: AppMenu anddesktop_file_manager.py
-
qubes-app-shutdown-idle
-
qubes-core-admin
Lot's of components but lower priority since dom0 is currently stuck on Fedora 41 -
not neededqubes-core-qrexec
:qrexec/policy/utils.py
,tools/qrexec_policy_agent.py
-
qubes-app-linux-split-gpg2
-
qubes-builderv2
Additional information
Related: #10102