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 OS does not recover from X11 crash (shmoverride) #5273

Closed
v6ak opened this issue Aug 25, 2019 · 1 comment
Closed

Qubes OS does not recover from X11 crash (shmoverride) #5273

v6ak opened this issue Aug 25, 2019 · 1 comment
Labels
C: desktop-linux P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists.

Comments

@v6ak
Copy link

v6ak commented Aug 25, 2019

Qubes OS version
R4.0

Affected component(s) or functionality
GUI daemon, shmoverride

Brief summary
When X11 crashes (not when it is terminated correctly), user can log in again, but the VMs GUI does not work at all. While GUID is restarted, it imediatelly crashes.

To Reproduce
Steps to reproduce the behavior:

  1. Make X11 crash. This can be a regular crash or even kill -9. (The -9 is important. Without -9, X11 terminates correctly and this issue cannot be reproduced.)
  2. Log in again.

Expected behavior
Qubes OS fully recovers and shows all the windows previously shown.

Actual behavior
All the windows just blink for a short time and GUI daemon crashes.

Additional context
Logs were posted to https://groups.google.com/forum/#!topic/qubes-users/UwjiRi3MS3c

Solutions you've tried

When I rename /var/run/qubes/shm.id.0 and run sudo systemctl restart lightdm, the system partially recovers. The shm.id.0 fle is recreated with a different number and GUID works again. Newly started VMs seem to be 100% OK. Previously started VMs don't have sound output and some of them (looks like randomly chosen bunch of VMs) stop working until VM reboot – GUI is not shown and dom0 commands like qvm-run -p vm-name ls hang.

@v6ak v6ak added P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists. labels Aug 25, 2019
@andrewdavidwong andrewdavidwong added this to the Release 4.0 updates milestone Aug 25, 2019
pwmarcz added a commit to pwmarcz/qubes-gui-daemon that referenced this issue Mar 24, 2020
Instead of opening with O_CREAT|O_EXCL, use flock() to see if
the file is held by an alive Xorg process.

See 0ac0c7f for more context.

Solves part of QubesOS/qubes-issues#5273 (qubes-guid failing to
start after Xorg crash).
pwmarcz added a commit to pwmarcz/qubes-gui-daemon that referenced this issue Mar 25, 2020
Instead of opening with O_CREAT|O_EXCL, use flock() to see if
the file is held by an alive Xorg process.

If we fail for some reason, always clean up and continue instead
of calling exit().

See 0ac0c7f for more context.

Solves part of QubesOS/qubes-issues#5273 (qubes-guid failing to
start after Xorg crash).
pwmarcz added a commit to pwmarcz/qubes-gui-daemon that referenced this issue Mar 25, 2020
Instead of opening with O_CREAT|O_EXCL, use flock() to see if
the file is held by an alive Xorg process.

If we fail for some reason, always clean up and continue instead
of calling exit().

See 0ac0c7f for more context.

Solves part of QubesOS/qubes-issues#5273 (qubes-guid failing to
start after Xorg crash).
pwmarcz added a commit to pwmarcz/qubes-gui-agent-linux that referenced this issue Mar 26, 2020
Recreate vchan servers (libvchan_server_init()) on disconnection.

This fixes audio in the case of Xorg crash (see
QubesOS/qubes-issues#5273), and any kind of GUI restart.
marmarek pushed a commit to QubesOS/qubes-gui-agent-linux that referenced this issue Apr 18, 2020
Recreate vchan servers (libvchan_server_init()) on disconnection.

This fixes audio in the case of Xorg crash (see
QubesOS/qubes-issues#5273), and any kind of GUI restart.

(cherry picked from commit fe0b701)
Notes from origin:
    Fixes QubesOS/qubes-issues#3249
marmarek pushed a commit to marmarek/qubes-gui-daemon that referenced this issue May 17, 2020
Instead of opening with O_CREAT|O_EXCL, use flock() to see if
the file is held by an alive Xorg process.

If we fail for some reason, always clean up and continue instead
of calling exit().

See 0ac0c7f for more context.

Solves part of QubesOS/qubes-issues#5273 (qubes-guid failing to
start after Xorg crash).

(cherry picked from commit 24e947b)
@DemiMarie
Copy link

Works in R4.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: desktop-linux P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: bug Type: bug report. A problem or defect resulting in unintended behavior in something that exists.
Projects
None yet
Development

No branches or pull requests

3 participants