-
-
Notifications
You must be signed in to change notification settings - Fork 59
asyncio.get_event_loop() throws RuntimeError on Fedora 43 / Python 3.14 if event loop is not initialized #10188
Copy link
Copy link
Closed
Labels
C: FedoraThis issue pertains to Fedora Linux templates or standalones.This issue pertains to Fedora Linux templates or standalones.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.Priority: default. Default priority for new issues, to be replaced given sufficient information.affects-4.3This issue affects Qubes OS 4.3.This issue affects Qubes OS 4.3.diagnosedTechnical diagnosis of this issue has been performed.Technical diagnosis of this issue has been performed.pr submittedA pull request has been submitted for this issue.A pull request has been submitted for this issue.
Metadata
Metadata
Assignees
Labels
C: FedoraThis issue pertains to Fedora Linux templates or standalones.This issue pertains to Fedora Linux templates or standalones.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.Priority: default. Default priority for new issues, to be replaced given sufficient information.affects-4.3This issue affects Qubes OS 4.3.This issue affects Qubes OS 4.3.diagnosedTechnical diagnosis of this issue has been performed.Technical diagnosis of this issue has been performed.pr submittedA pull request has been submitted for this issue.A pull request has been submitted for this issue.
How to file a helpful issue
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-daemonfor asys-audioqube. But the same error might be present in Qui Widget tools (if used in a Fedora 43 basedsys-gui*). Or Qube Manager and many other corners.Steps to reproduce
In Python 3.14 in Fedora 43 try:
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:
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-backupqubes-app-linux-pdf-converter: Client & Serverqubes-desktop-linux-manager: Qui Clipboard, Qui Device Widget, Qui Domains, Qui Updates, Updater (summary page),qubes-device-agent.pyqubes-gui-daemon:icon-reciever(most probably does not require a fix).qubes-gui-agent-linux:icon-senderqubes-doc: Deveoper -> Services ->qrexec-socket-services.rstqubes-desktop-linux-menu: AppMenu anddesktop_file_manager.pyqubes-app-shutdown-idlequbes-core-adminLot's of components but lower priority since dom0 is currently stuck on Fedora 41not neededqubes-core-qrexec:qrexec/policy/utils.py,tools/qrexec_policy_agent.pyqubes-app-linux-split-gpg2qubes-builderv2Additional information
Related: #10102