QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
541 stars 48 forks source link

qubes-gui-agent breaks when upgrading Debian 10 #4140

Closed toxub23 closed 4 years ago

toxub23 commented 6 years ago

Qubes OS version:

R4.0

Affected component(s):

Maybe QubesRPC?

Actual behavior:

About 1 hour ago I started updating my template kali linux. During the standard update process, and upgrade, I noticed that some qubes packages are being updated. Okay everything went without a problem, after the upgrade I started dist-upgrade and in the middle of the process the terminal suddenly turned off but vm still worked. I tried to restart the terminal but it not turn on. I killed vm and I came up with the idea that I will see if there are updates for dom0 (I check it every day) because maybe something will help. It turned out that they are so I started to update. After a successful update, I restarted the computer and tried to re-enable vm kali linux, vm turns on and I can see that it is running and running but the terminal or anything from this machine will not turn on. A very strange situation. As part of the test I turned on the terminal in appvm based on kali linux and saw in dom0 processes what is happening and I see the ongoing process that frozen "grexec-client -d kali-linux-d DEFAULT" QUBESRPC qubes.WaitForSession dom0 ". In template kali linux, when I tryed to run np gnome terminal from the menu, nothing was happens but in the processes you can see that the command to run the terminal was frozen and nothing was happens to it. Now the biggest problem is how to fix it since I can not even start the terminal. I will have to use the run command in qube, but what to run

marmarek commented 6 years ago

It would be very helpful to get which exactly qubes packages were updated (or maybe removed?) at that time. When the qube is running, you can access its text console using sudo xl console VMNAME (replace VMNAME with actual name) from dom0. Check if qubes-gui-agent service is running, if X server is running (if not - see its log why it failed to start).

toxub23 commented 6 years ago

Sure, right now. I'm sorry I did not put in yesterday, but I was too scared (this vm is very important for me) and I did not think about it, I'm still a bit worried. Unfortunately, as it turned out, the important qubes packages were removed. I know they are important, so I would never deliberately remove them. There had to be conflicts with dependencies, and due to the large update routine and their quantity, I did not notice that such important packages would be removed. Below are all logs that can be useful in solving the problem. For the remind, I have the latest version of debian 10 converted to the latest kali linux. Regarding the "qubes-gui-agent" it was completely removed during the upgrade. My guess is that I have to reinstall the removed packages, but how? Are there minor problems with dependencies and can be a problem again.

Log from qubesdb: https://unsee.cc/d4f7cc7e/

Log from vm kali-linux from /var/log/qubes ind dom0: https://unsee.cc/486a237b/

Log from kali-linux from /var/log/xen/console: https://unsee.cc/ee519c00/

Log quid kali linux: "Icon size: 128x128 domain dead Failed to connect to gui-agent"

After logging in to vm kali-linux by xl https://unsee.cc/fb733f0d/

Dmesg in vm: https://unsee.cc/d319f27e/

Processes: https://unsee.cc/d59ba417/

Syslog: https://unsee.cc/d934aeec/

Term log: https://unsee.cc/7ef6569d/

Logs from upgrade: https://unsee.cc/2bab54e3/

Logs from dist-upgrade: https://unsee.cc/115da040/

Info about qubes-gui-agent: https://unsee.cc/bb1859e0/

Info about xserver-xorg-video-dummyqbs: https://unsee.cc/cc52a43e/

Info about xorg-video-abi-23: https://unsee.cc/a3344a5d/

Info about xserver-xorg-core: https://unsee.cc/caa62dcf/

Log from shoutdown: https://unsee.cc/ed4f48d5/

For this I like qubes, that despite such a problem I still have other vm to use. And I can get into the wrong vm somehow for example with xl.

toxub23 commented 6 years ago

I forgot to add that log from kali-linux from / var / log / xen / console are from July 23. There are no newer logs from this vm in this directory

toxub23 commented 6 years ago

@marmarek

marmarek commented 6 years ago

It looks like the breakage is caused by upgrade of xserver-xorg-core from 1.19 to 1.20, which bumps supported video API version, beyond the one supported by qubes-gui-agent (namely xserver-xorg-video-dummyqbs). Rebuilding the package should help (I'll do that in a moment - you'll need to enable testing repository to get it right now).

But please remember, Debian 10 is still in testing phase and such incompatible changes are to be expected. If you can't afford dealing with such problems from time to time in given VM, use stable version.

andrewdavidwong commented 6 years ago

I'm sorry I did not put in yesterday, but I was too scared (this vm is very important for me) and I did not think about it, I'm still a bit worried.

If a VM is important to you, then you should have backups of it. If you have backups, there's no need to be worried or scared.

larsthegeek commented 6 years ago

Interestingly, after pulling down the updated packages from the qubes 4 buster-testing repo, all packages installed correctly yet I am still unable to open applications on any debian-10 based vms, other than via 'xl console'. No errors on the console, nothing happens. I'm open to suggestions on which logs to take a peek at to find the issue.

Sadly, debian-stable often does not have the versions of packages that I need for various tasks, thus using debian-testing.

marmarek commented 6 years ago

Is qubes-gui-agent service running (systemctl status qubes-gui-agent)?

larsthegeek commented 6 years ago

On my debian-10 template (and the test vm I created using that template), qubes-gui-agent was not running.

 root@debian-10# systemctl status qubes-gui-agent
 qubes-gui-agent.service - Qubes GUI Agent
  Loaded: loaded (/lib/systemd/system/qubes-gui-agent.service; disabled; vendor
  Active: inactive (dead)

Manually starting the service with systemctl start qubes-gui-agent resolved the issue temporarily, until the next reboot of the vm. I ended up needing to issue systemctl enable qubes-gui-agent to completely resolve the issue.

andrewdavidwong commented 6 years ago

On my debian-10 template (and the test vm I created using that template), qubes-gui-agent was not running.

 root@debian-10# systemctl status qubes-gui-agent
 qubes-gui-agent.service - Qubes GUI Agent
  Loaded: loaded (/lib/systemd/system/qubes-gui-agent.service; disabled; vendor
  Active: inactive (dead)

Manually starting the service with systemctl start qubes-gui-agent resolved the issue temporarily, until the next reboot of the vm. I ended up needing to issue systemctl enable qubes-gui-agent to completely resolve the issue.

@toxub23, does this also resolve the issue for you?

brofoobar commented 6 years ago

I run into exact same problem when upgrading debian-9 to kali (https://www.qubes-os.org/doc/pentesting/kali/). 'qubes-gui-agent' was removed, because there was no 'xorg-video-abi-23' dependency available. @marmarek Could you rebuild packages for stretch as well? TIA

marmarek commented 6 years ago

Could you rebuild packages for stretch as well?

Stretch is unchanged, it does provide 'xorg-video-abi-23'. But it looks like Kali use packages from Debian testing (buster), so you should first upgrade to debian-10 and only then install Kali.

brofoobar commented 6 years ago

Thanks, I've managed to update to debian-10 and kali eventually. Not without hiccups as qubes-gui-agent needs python-xpyb, which is currently not available in buster repo. Anyway I got a small suggestion to add general reminder on https://www.qubes-os.org/doc/pentesting/kali/ about the fact that kali is based constantly on Debian testing repo and it's better to update template accordingly (or at least when the latest Debian stable template fails).

andrewdavidwong commented 6 years ago

Anyway I got a small suggestion to add general reminder on https://www.qubes-os.org/doc/pentesting/kali/ about the fact that kali is based constantly on Debian testing repo and it's better to update template accordingly (or at least when the latest Debian stable template fails).

Please submit a PR:

https://www.qubes-os.org/doc/doc-guidelines/

marmarek commented 6 years ago

Not without hiccups as qubes-gui-agent needs python-xpyb, which is currently not available in buster repo.

python-xcffib would also do, it is isn't in Debian yet (only sid). So, it looks like debian-10 doesn't have any equivalent package at the moment (I'd like to be wrong...).

unman commented 6 years ago

it looks like debian-10 doesn't have any equivalent package at the moment (I'd like to be wrong..)

I don't think you are wrong at the moment. This highlights the problem of chasing issues that arise when using Debian testing, particularly when the packages are in sid. It's likely only a matter of time before such issues will be resolved.

sebastianlutter commented 6 years ago

Qubes 4, installed kali-rolling (wiki article, third option using the repo url and debian-9). I encountered the same problem, during kali-rolling dist-upgrade. Like @marmarek mentioned the problematic package is xserver-xorg-core. I'll try to use debian-10, but mark the xserver updates as blocked using apt-mark hold is another (bad and only temporal) solution

unman commented 5 years ago

@toxub23 @sebastianlutter Please confirm that this issue is resolved, and that you are able to update a buster template without issue.

strak8 commented 5 years ago

Hello! I also installed it following the procedure on the site without first going to debian-10. Now I have many hours to install I have the vm locked and accessible only from the console on Dom0.

Same problems as other users. qubes-gui-agent is installed but masked:


The following packages have unmet dependencies: qubes-gui-agent: Depends: xserver-xorg-video-dummyqbs (= 4.0.23-1 + deb9u1) but it is not going to be installed Recommends: pulseaudio-qubes but it is not going to be installed E: Unable to correct problems, you have held broken packages.


With 'apt-get autoremove' he would like to remove many qubes packages *.

it is possible to restore the virtual machine without losing the entire installation.

THANK YOU

marmarek commented 4 years ago

Debian 10 is stable not testing, this issues isn't happening anymore.