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

Reply via email to