Skip to content

asyncio.get_event_loop() throws RuntimeError on Fedora 43 / Python 3.14 if event loop is not initialized #10188

@alimirjamali

Description

@alimirjamali

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-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
  • qubes-gui-agent-linux: icon-sender (most probably does not require a fix).
  • qubes-doc: Deveoper -> Services -> qrexec-socket-services.rst
  • qubes-desktop-linux-menu: AppMenu and desktop_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
  • qubes-core-qrexec: qrexec/policy/utils.py, tools/qrexec_policy_agent.py not needed
  • qubes-app-linux-split-gpg2
  • qubes-builderv2

Additional information

Related: #10102

Metadata

Metadata

Assignees

Labels

C: FedoraThis issue pertains to Fedora Linux templates or standalones.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.affects-4.3This issue affects Qubes OS 4.3.diagnosedTechnical diagnosis of this issue has been performed.pr submittedA pull request has been submitted for this issue.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions