Qubes updater failing

Hello, I am experiencing an issue with the Qubes OS Qubes Updater. It states that I need to update Debian-11, Fedora-37, Whonix-gw-16, and Whonix-ws-16. However, whenever I attempt to update, I encounter errors. I am wondering how I can resolve this issue. If it’s not possible to fix the updater, is there a way to manually upgrade these components? Thank you.

these are the error messages by the way (sorry for the mess of text as i dont know how to make it look better

Updating debian-11
 
Error on updating debian-11: Command '['sudo', 'qubesctl', '--skip-dom0', '--targets=debian-11', '--show-output', 'state.sls', 'update.qubes-vm']' returned non-zero exit status 64.
debian-11:
  /usr/lib/python3.11/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
    warnings.warn("Setuptools is replacing distutils.")
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  Usage: salt-ssh [options] '<target>' <function> [arguments]
 
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  salt-ssh: error: Error while processing <function LogLevelMixIn.__setup_logging at 0x718b3e700180>: Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
 
 
Updating fedora-37
 
Error on updating fedora-37: Command '['sudo', 'qubesctl', '--skip-dom0', '--targets=fedora-37', '--show-output', 'state.sls', 'update.qubes-vm']' returned non-zero exit status 64.
fedora-37:
  /usr/lib/python3.11/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
    warnings.warn("Setuptools is replacing distutils.")
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  Usage: salt-ssh [options] '<target>' <function> [arguments]
 
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  salt-ssh: error: Error while processing <function LogLevelMixIn.__setup_logging at 0x7d2b8404c180>: Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
 
 
Updating whonix-gw-16
 
Error on updating whonix-gw-16: Command '['sudo', 'qubesctl', '--skip-dom0', '--targets=whonix-gw-16', '--show-output', 'state.sls', 'update.qubes-vm']' returned non-zero exit status 64.
whonix-gw-16:
  /usr/lib/python3.11/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
    warnings.warn("Setuptools is replacing distutils.")
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  Usage: salt-ssh [options] '<target>' <function> [arguments]
 
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  salt-ssh: error: Error while processing <function LogLevelMixIn.__setup_logging at 0x73630030c180>: Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
 
 
Updating whonix-ws-16
 
Error on updating whonix-ws-16: Command '['sudo', 'qubesctl', '--skip-dom0', '--targets=whonix-ws-16', '--show-output', 'state.sls', 'update.qubes-vm']' returned non-zero exit status 64.
whonix-ws-16:
  /usr/lib/python3.11/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
    warnings.warn("Setuptools is replacing distutils.")
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  Usage: salt-ssh [options] '<target>' <function> [arguments]
 
  [ERROR   ] 'dict' object has no attribute 'select'
  Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'
  salt-ssh: error: Error while processing <function LogLevelMixIn.__setup_logging at 0x74c65ea8c180>: Traceback (most recent call last):
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 212, in parse_args
      mixin_after_parsed_func(self)
    File "/usr/lib/python3.11/site-packages/salt/utils/parsers.py", line 905, in __setup_logging
      salt._logging.setup_logging()
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 971, in setup_logging
      setup_extended_logging(opts)
    File "/usr/lib/python3.11/site-packages/salt/_logging/impl.py", line 878, in setup_extended_logging
      providers = salt.loader.log_handlers(opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 857, in log_handlers
      _module_dirs(
    File "/usr/lib/python3.11/site-packages/salt/loader/__init__.py", line 153, in _module_dirs
      for entry_point in entrypoints.iter_entry_points("salt.loader"):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 29, in _wrapped
      return f(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/site-packages/salt/utils/entrypoints.py", line 51, in iter_entry_points
      for entry_point in entry_points.select(group=group):
                         ^^^^^^^^^^^^^^^^^^^
  AttributeError: 'dict' object has no attribute 'select'

Seems like you’re not the only one with this problem:

But nobody reported this to devs yet.
I think you should open an issue on github so devs will be aware of this problem:

Okay, thank you. Do you know if there is any way I can manually update the Qubes myself, or will this break something?

You can update Qubes manually with apt/dnf inside templates but it’s not recommended

Warning: Updating with direct commands such as qubes-dom0-update, dnf update, and apt update is not recommended, since these bypass built-in Qubes OS update security measures. Instead, we strongly recommend using the Qubes Update tool or its command-line equivalents, as described below. (By contrast, installing packages using direct package manager commands is fine.)

Okay, I really appreciate the information. Thank you.

Hi @vanx,

I formatted the log in your original post by making it a fenced block. Generally speaking, the forum supports the Markdown syntax to format text, so that’s what I’d suggest searching for if you want to learn :slightly_smiling_face:

Here is the GitHub documentation about creating fenced blocks for example:

Fenced code blocks are good for: code, logs, terminal output. (In case you’re wondering, they’re called that way because the series of three backticks that surround the block look like little fences.)

Note: GitHub does use an extended version of Markdown, so not everything in their guides will work in the forum, but most things will work, and everything is worth a try! :wink:

1 Like

I had this too, I installed the fedora-38 template and in template manager changed default-mgmt-dvm to use that instead of fedora-37. updates worked immediately. no immediate need to update other vm for 38 although will have to sometime