Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qubes-global-config crashes when a qube gets removed during the tool startup #9791

Open
marmarek opened this issue Feb 21, 2025 · 0 comments
Labels
affects-4.2 This issue affects Qubes OS 4.2. affects-4.3 This issue affects Qubes OS 4.3. C: manager/widget needs diagnosis Requires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information.

Comments

@marmarek
Copy link
Member

Qubes OS release

Qubes OS 4.3, Qubes OS 4.2

Brief summary

When a qube is removed while qubes-global-config is starting up, it crashes. This can happen for example when a disposable qube is closed.

Steps to reproduce

  1. Start qubes-global-config
  2. While it's still starting, close a disposable qube (depending on timing, doing the two steps in the opposite order may be easier)
  3. Wait for qubes-global-config to start

Expected behavior

It starts normally

Actual behavior

It crashes:

Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/global_config.py", line 295, in do_activate
    self.perform_setup()
    ~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/global_config.py", line 434, in perform_setup
    self.handlers["updates"] = UpdatesHandler(
                               ~~~~~~~~~~~~~~^
        qapp=self.qapp,
        ^^^^^^^^^^^^^^^
        policy_manager=self.policy_manager,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        gtk_builder=self.builder,
        ^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/updates_handler.py", line 694, in __init__
    self.update_proxy = UpdateProxy(
                        ~~~~~~~~~~~^
        gtk_builder=gtk_builder,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
        service_name=self.service_name,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/updates_handler.py", line 404, in __init__
    self.has_whonix = self._check_for_whonix()
                      ~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/updates_handler.py", line 460, in _check_for_whonix
    if "whonix-updatevm" in vm.tags or "anon-gateway" in vm.tags:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/qubesadmin/tags.py", line 65, in __contains__
    response = self.vm.qubesd_call(self.vm.name, 'admin.vm.tag.Get', elem)
  File "/usr/lib/python3.13/site-packages/qubesadmin/base.py", line 76, in qubesd_call
    return self.app.qubesd_call(dest, method, arg, payload,
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        payload_stream)
        ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/qubesadmin/app.py", line 786, in qubesd_call
    return self._parse_qubesd_response(return_data)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/qubesadmin/base.py", line 111, in _parse_qubesd_response
    raise exc_class(format_string, *args)
qubesadmin.exc.QubesVMNotFoundError: No such domain: 'disp1342'
2025-02-21 15:17:47,644 icon-receiver: disconnected: disp1342

Additional information

https://openqa.qubes-os.org/tests/129579

@marmarek marmarek added affects-4.2 This issue affects Qubes OS 4.2. affects-4.3 This issue affects Qubes OS 4.3. C: manager/widget P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels Feb 21, 2025
@andrewdavidwong andrewdavidwong added the needs diagnosis Requires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed. label Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-4.2 This issue affects Qubes OS 4.2. affects-4.3 This issue affects Qubes OS 4.3. C: manager/widget needs diagnosis Requires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information.
Projects
None yet
Development

No branches or pull requests

2 participants