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

GUI daemon crashes on XShmPutImage #2171

Closed
marmarek opened this Issue Jul 14, 2016 · 5 comments

Comments

Projects
None yet
1 participant
@marmarek
Member

marmarek commented Jul 14, 2016

Error message in logs:

 ErrorHandler: BadValue (integer parameter out of range for operation) 
 Major opcode: 130 (MIT-SHM) 
 Minor opcode: 3 (X_ShmPutImage) 
 Value: 0x2df 
 Failed serial number: 173 
 Current serial number: 174

It looks to me that XSync isn't effective anymore and the call is executed asynchronously anyway. Looks like very similar problem to #2085
Originally reported in #2120

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 14, 2016

Member

Even more technical details from debugging this - shared memory segment as seen by Xorg server here, has size of 1 byte, which is obviously wrong. It looks like shmoverride didn't intercepted the right shmat call, and the dummy region (of size 1) is attached, instead of actual pages from selected domain.
Documentation and the code:
https://github.com/QubesOS/qubes-gui-daemon/tree/master/shmoverride
https://github.com/QubesOS/qubes-gui-daemon/blob/master/gui-daemon/xside.c#L2283-L2311

Member

marmarek commented Jul 14, 2016

Even more technical details from debugging this - shared memory segment as seen by Xorg server here, has size of 1 byte, which is obviously wrong. It looks like shmoverride didn't intercepted the right shmat call, and the dummy region (of size 1) is attached, instead of actual pages from selected domain.
Documentation and the code:
https://github.com/QubesOS/qubes-gui-daemon/tree/master/shmoverride
https://github.com/QubesOS/qubes-gui-daemon/blob/master/gui-daemon/xside.c#L2283-L2311

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 14, 2016

Member

@rootkovska do you get any VM window working when this happens? In the case I'm debugging right now, the whole shmoverride failed to initialize, so no window is visible. For some yet unknown reason, only gui-daemon of sys-net crashes - probably because it is the only one trying to show something (nm-applet).
You can check /var/log/lightdm/x-0.log for some shmoverride initialization error message just at the beginning.

Member

marmarek commented Jul 14, 2016

@rootkovska do you get any VM window working when this happens? In the case I'm debugging right now, the whole shmoverride failed to initialize, so no window is visible. For some yet unknown reason, only gui-daemon of sys-net crashes - probably because it is the only one trying to show something (nm-applet).
You can check /var/log/lightdm/x-0.log for some shmoverride initialization error message just at the beginning.

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 16, 2016

Member

This was caused by starting second X server (by either light-locker, or "new session" feature), which we consider as invalid operation.

Member

marmarek commented Jul 16, 2016

This was caused by starting second X server (by either light-locker, or "new session" feature), which we consider as invalid operation.

@marmarek marmarek closed this Jul 16, 2016

marmarek added a commit to marmarek/old-qubes-gui-daemon that referenced this issue Jul 18, 2016

shmoverride: do not remove shm.id file if created by other instance
If second instance of X server is started, shm.id creation will fail.
But in such a case, on X server exit, do not remove it, as it belong to
the other instance. Otherwise it will break GUI in that one.

Fixes QubesOS/qubes-issues#2171
@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 19, 2016

Member

Automated announcement from builder-github

The package qubes-gui-dom0-3.2.3-1.fc23 has been pushed to the r3.2 testing repository for dom0.
To test this update, please install it with the following command:

sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing

Changes included in this update

Member

marmarek commented Jul 19, 2016

Automated announcement from builder-github

The package qubes-gui-dom0-3.2.3-1.fc23 has been pushed to the r3.2 testing repository for dom0.
To test this update, please install it with the following command:

sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing

Changes included in this update

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 28, 2016

Member

Automated announcement from builder-github

The package qubes-gui-dom0-3.2.3-1.fc23 has been pushed to the r3.2 stable repository for dom0.
To install this update, please use the standard update command:

sudo qubes-dom0-update

Or update dom0 via Qubes Manager.

Changes included in this update

Member

marmarek commented Jul 28, 2016

Automated announcement from builder-github

The package qubes-gui-dom0-3.2.3-1.fc23 has been pushed to the r3.2 stable repository for dom0.
To install this update, please use the standard update command:

sudo qubes-dom0-update

Or update dom0 via Qubes Manager.

Changes included in this update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment