Qubes 4.3rc2: qubes-global-config failes to open

Hi,
when I try to start cubes-global-config from dom0 terminal it failes to start but gives me some error messages. How can I try to repair this?
After installation of V4.3rc2 the config menue worked just fine, but then I did some tinkering with Auto Attach Settings and the menue failed to open.
Reboot didn’t help.

Thanks for any hints!

$ qubes-global-config 
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/global_config.py", line 304, in do_activate
    self.perform_setup()
    ~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/global_config.py", line 426, in perform_setup
    self.handlers["attachments"] = DevAttachmentHandler(self.qapp, self.builder)
                                   ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/device_attachments.py", line 987, in __init__
    self.auto_attach_handler = AttachmentHandler(
                               ~~~~~~~~~~~~~~~~~^
        builder=gtk_builder,
        ^^^^^^^^^^^^^^^^^^^^
    ...<5 lines>...
        edit_dialog_class=AutoDeviceDialog,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/device_attachments.py", line 921, in __init__
    super().__init__(
    ~~~~~~~~~~~~~~~~^
        prefix=prefix,
        ^^^^^^^^^^^^^^
    ...<3 lines>...
        edit_dialog_class=edit_dialog_class,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/device_widgets.py", line 260, in __init__
    self.load_current_state()
    ~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/device_attachments.py", line 963, in load_current_state
    aw = AssignmentWrapper.new_from_existing(assignment_list)
  File "/usr/lib/python3.13/site-packages/qubes_config/global_config/device_attachments.py", line 671, in new_from_existing
    device = assignments[0].device
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/qubesadmin/device_protocol.py", line 1370, in device
    raise ProtocolError("No devices matches to assignment")
qubesadmin.device_protocol.ProtocolError: No devices matches to assignment

If you added a persistent attachment via Qubes Global Config, then you will need to connect the device for it to work again. Until this issue is resolved, remove the rule you have set.

Thank you, great idea!

So I’m trying to remove a rule. First problem: I don’t know which rules I have set.
qvm-device --help says:
command
assign (s) Assign device to domain or edit existing assignment

But how do I list all of my assignments to choose one of it for deletion?

$qvm-device usb assign
responds with:
qvm-device DEVICE_CLASS assign: error: the following arguments are required: VMNAME, BACKEND:DEVICE_ID

so no list of assignments. Where do I find this list?

Found it:

$ qvm-device usb list --assignments

The patch provided by Marta should also work, once you replace except ProtocolError: with except:

Thank you!

Now that I got my list of assignments reconnecting the missing USB device did the trick. Qubes-global-config did start again and I was able to remove my rule there. Looks like I have to be a little more careful using this precious helper now. But I’m looking forward to having auto-assign fully functional some day.