Whonix-ws-16 Failed to Update

Hello everybody,
My gui updater alerted me to an issue when I tried updating my templateVMs today. After I started it up and updated my qubes, it notified me that whonix-gw-16 was successfully updated, but whonix-ws-16 failed. Found below is the relevant part of the log (scroll to see entire part):

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 20.
whonix-ws-16:
  ----------
            ID: update
      Function: pkg.uptodate
        Result: True
       Comment: Upgrade ran successfully
       Started: [time omitted by me]
      Duration: 463422.078 ms
       Changes:   
                ----------
                bind9-dnsutils:
                    ----------
                    new:
                        1:9.16.42-1~deb11u1
                    old:
                        1:9.16.37-1~deb11u1
                bind9-host:
                    ----------
                    new:
                        1:9.16.42-1~deb11u1
                    old:
                        1:9.16.37-1~deb11u1
                bind9-libs:
                    ----------
                    new:
                        1:9.16.42-1~deb11u1
                    old:
                        1:9.16.37-1~deb11u1
                dnsutils:
                    ----------
                    new:
                        1:9.16.42-1~deb11u1
                    old:
                        1:9.16.37-1~deb11u1
                ghostscript:
                    ----------
                    new:
                        9.53.3~dfsg-7+deb11u5
                    old:
                        9.53.3~dfsg-7+deb11u4
                gstreamer1.0-plugins-base:
                    ----------
                    new:
                        1.18.4-2+deb11u1
                    old:
                        1.18.4-2
                gstreamer1.0-plugins-good:
                    ----------
                    new:
                        1.18.4-2+deb11u2
                    old:
                        1.18.4-2+deb11u1
                libgs9:
                    ----------
                    new:
                        9.53.3~dfsg-7+deb11u5
                    old:
                        9.53.3~dfsg-7+deb11u4
                libgs9-common:
                    ----------
                    new:
                        9.53.3~dfsg-7+deb11u5
                    old:
                        9.53.3~dfsg-7+deb11u4
                libgstreamer-gl1.0-0:
                    ----------
                    new:
                        1.18.4-2+deb11u1
                    old:
                        1.18.4-2
                libgstreamer-plugins-base1.0-0:
                    ----------
                    new:
                        1.18.4-2+deb11u1
                    old:
                        1.18.4-2
                libjavascriptcoregtk-4.0-18:
                    ----------
                    new:
                        2.40.3-2~deb11u1
                    old:
                        2.40.2-1~deb11u1
                libqrexec-utils2:
                    ----------
                    new:
                        4.1.22-1+deb11u1
                    old:
                        4.1.21-1+deb11u1
                libwebkit2gtk-4.0-37:
                    ----------
                    new:
                        2.40.3-2~deb11u1
                    old:
                        2.40.2-1~deb11u1
                libx11-6:
                    ----------
                    new:
                        2:1.7.2-1+deb11u1
                    old:
                        2:1.7.2-1
                libx11-data:
                    ----------
                    new:
                        2:1.7.2-1+deb11u1
                    old:
                        2:1.7.2-1
                libx11-xcb1:
                    ----------
                    new:
                        2:1.7.2-1+deb11u1
                    old:
                        2:1.7.2-1
                linux-libc-dev:
                    ----------
                    new:
                        5.10.179-2
                    old:
                        5.10.179-1
                qubes-core-agent:
                    ----------
                    new:
                        4.1.42-1+deb11u1
                    old:
                        4.1.41-1+deb11u1
                qubes-core-agent-nautilus:
                    ----------
                    new:
                        4.1.42-1+deb11u1
                    old:
                        4.1.41-1+deb11u1
                qubes-core-agent-networking:
                    ----------
                    new:
                        4.1.42-1+deb11u1
                    old:
                        4.1.41-1+deb11u1
                qubes-core-agent-passwordless-root:
                    ----------
                    new:
                        4.1.42-1+deb11u1
                    old:
                        4.1.41-1+deb11u1
                qubes-core-agent-thunar:
                    ----------
                    new:
                        4.1.42-1+deb11u1
                    old:
                        4.1.41-1+deb11u1
                qubes-core-qrexec:
                    ----------
                    new:
                        4.1.22-1+deb11u1
                    old:
                        4.1.21-1+deb11u1
                qubes-gpg-split:
                    ----------
                    new:
                        2.0.68-1+deb11u1
                    old:
                        2.0.67-1+deb11u1
                qubes-pdf-converter:
                    ----------
                    new:
                        2.1.18-1+deb11u1
                    old:
                        2.1.16-1+deb11u1
                tb-updater:
                    ----------
                    new:
                        3:26.7-1
                    old:
                        3:25.8-1
                thunderbird:
                    ----------
                    new:
                        1:102.13.0-1~deb11u1
                    old:
                        1:102.12.0-1~deb11u1
                usability-misc:
                    ----------
                    new:
                        3:14.8-1
                    old:
                        3:14.0-1
  ----------
            ID: notify-updates
      Function: cmd.run
          Name: /usr/lib/qubes/upgrades-status-notify
        Result: False
       Comment: Command "/usr/lib/qubes/upgrades-status-notify" run
       Started: [time omitted by me]
      Duration: 703.914 ms
       Changes:   
                ----------
                pid:
                    7117
                retcode:
                    100
                stderr:
                stdout:
  
  Summary for whonix-ws-16
  ------------
  Succeeded: 1 (changed=2)
  Failed:    1
  ------------
  Total states run:     2
  Total run time: 464.126 s

So I assume, from two segments of the log copied again below, that one part of the update succeeded but the other part failed? Or that the actual update was successful but only the status notification failed?

            ID: update
      Function: pkg.uptodate
        Result: True
       Comment: Upgrade ran successfully
            ID: notify-updates
      Function: cmd.run
          Name: /usr/lib/qubes/upgrades-status-notify
        Result: False
       Comment: Command "/usr/lib/qubes/upgrades-status-notify" run

I’m still not entirely sure what went wrong here. I’m not used to reading through log files so any help/advice/corrections would be greatly appreciated.

If it helps, I also enabled the “Enable updates for qubes without known available updates.” checkbox in order to update the whonix qubes, which would’ve otherwise been greyed out in the updater.

After being updated, qubes notify dom0 of their update status.

Sometimes that notification fails (I don’t know why). Next time you update that qube, the process will be quick (the update step will be a quick check since the qube is up to date, then the notification will be sent).

In my experience, the second time the notification step often succeeds.

I know it’s not a very satisfactory answer, but I hope at least it removes some worry to know that the qube was indded updated, and hopefully someone else can explain what causes the notifocation failures in the first place.

Edit to add: there is nothing wrong with updating qubes with no known updates, I would be very surprised if the notification issue was related to that.

1 Like

So just to be clear, the update was successful and nothing actually went wrong besides a failed notification?

Yes, that’s correct.

The function pkg.uptodate that constitues the first task is responsible for performing the update, and ran successfully. (Result: True means success.)

The second task runs the program called upgrades-status-notify and that’s the one that failed. (Result: False means failure.)

Also: that was the right log to look at, and you read it correctly :+1:

1 Like

Many thanks for clarifying. :slight_smile: