Public bug reported: I've hit an issue where LightDM trying to switch directly from a USC- owned VT to an X-owned VT crashes X instead and doesn't switch VTs after all.
I'm not sure exactly where the problem lies or exactly what the root cause is. But here's my reproduction steps: 1) bileto host-upgrade 1679 # upgrades unity8 to have an in-session lockscreen -- you must be in vivid, xenial, or zesty 2) sudo apt update && sudo apt upgrade 3) sudo apt install unity8-desktop-session 4) Reboot 5) Log one user into a unity7 session. 6) Switch users and log a separate user into a unity8 session. 7) In unity8, press Ctrl+L to show the in-session lockscreen and switch to the unity7 user. 8) Usually this breaks things and the switch doesn't happen. Sometimes it will work in which case switch back and forth until it does. That's a bit of a pain, I understand. It's just the how I hit this bug. I think switching directly from a USC-owned VT to an X-owned VT is hitting a new and odd code path. What happens under the cover that I've found is that X fails during EnterVT and aborts. Which confuses everyone else, including lightdm. RAOF says "The hypothesis is that Mir fails to drop master for whatever reason, which results in it (correctly) NAKing the VT switch. (We call drmDropMaster, but that can fail; if it does, we throw an exception, (silently) catch it, and NAK the VT switch)" I have a USC log with MIR_SERVER_DISPLAY_REPORT=log set (though I can't see any display report spew...?) but it's not very revealing: http://paste.ubuntu.com/23348320 ** Affects: mir (Ubuntu) Importance: Undecided Assignee: Chris Halse Rogers (raof) Status: New ** Changed in: mir (Ubuntu) Assignee: (unassigned) => Chris Halse Rogers (raof) ** Description changed: + I've hit an issue where LightDM trying to switch directly from a USC- + owned VT to an X-owned VT crashes X instead and doesn't switch VTs after + all. + I'm not sure exactly where the problem lies or exactly what the root cause is. But here's my reproduction steps: 1) bileto host-upgrade 1679 # upgrade unity8 to have an in-session lockscreen 2) sudo apt update && sudo apt upgrade 3) sudo apt install unity8-desktop-session 4) Reboot 5) Log one user into a unity7 session. 6) Switch users and log a separate user into a unity8 session. 7) In unity8, press Ctrl+L to show the in-session lockscreen and switch to the unity7 user. 8) Usually this breaks things and the switch doesn't happen. Sometimes it will work in which case switch back and forth until it does. That's a bit of a pain, I understand. It's just the how I hit this bug. I think switching directly from a USC-owned VT to an X-owned VT is hitting a new and odd code path. What happens under the cover that I've found is that X fails during EnterVT and aborts. Which confuses everyone else, including lightdm. RAOF says "The hypothesis is that Mir fails to drop master for whatever reason, which results in it (correctly) NAKing the VT switch. (We call drmDropMaster, but that can fail; if it does, we throw an exception, (silently) catch it, and NAK the VT switch)" I have a USC log with MIR_SERVER_DISPLAY_REPORT=log set (though I can't see any display report spew...?) but it's not very revealing: http://paste.ubuntu.com/23348320 ** Description changed: I've hit an issue where LightDM trying to switch directly from a USC- owned VT to an X-owned VT crashes X instead and doesn't switch VTs after all. I'm not sure exactly where the problem lies or exactly what the root cause is. But here's my reproduction steps: - 1) bileto host-upgrade 1679 # upgrade unity8 to have an in-session lockscreen + 1) bileto host-upgrade 1679 # upgrades unity8 to have an in-session lockscreen -- you must be in vivid, xenial, or zesty 2) sudo apt update && sudo apt upgrade 3) sudo apt install unity8-desktop-session 4) Reboot 5) Log one user into a unity7 session. 6) Switch users and log a separate user into a unity8 session. 7) In unity8, press Ctrl+L to show the in-session lockscreen and switch to the unity7 user. 8) Usually this breaks things and the switch doesn't happen. Sometimes it will work in which case switch back and forth until it does. That's a bit of a pain, I understand. It's just the how I hit this bug. I think switching directly from a USC-owned VT to an X-owned VT is hitting a new and odd code path. What happens under the cover that I've found is that X fails during EnterVT and aborts. Which confuses everyone else, including lightdm. RAOF says "The hypothesis is that Mir fails to drop master for whatever reason, which results in it (correctly) NAKing the VT switch. (We call drmDropMaster, but that can fail; if it does, we throw an exception, (silently) catch it, and NAK the VT switch)" I have a USC log with MIR_SERVER_DISPLAY_REPORT=log set (though I can't see any display report spew...?) but it's not very revealing: http://paste.ubuntu.com/23348320 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1634888 Title: Problems switching VTs To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mir/+bug/1634888/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs