** Description changed:

- WORKAROUND: After typing an incorrect password, click Cancel, then click
- your name, then enter your password again.
+ [ Description ]
+ 
+ Due to a refcounting bug, a GDBusConnection was getting disposed when it
+ was still required. The symptom of this was that you couldn't log in if
+ you'd got your password wrong.
+ 
+ [ Test case ]
+ 
+ 1. Boot to GDM
+ 2. Click your username
+ 3. Type the wrong password a couple of times, pressing enter after each time
+ 4. Type the right password
+ 
+ If the bug is happening, after 4. the system hangs at a blank screen
+ with the mouse cursor. If you then switch to a VT or otherwise connect
+ to the machine, you can examine the journal and you'll see a
+ G_IS_DBUS_CONNECTION failure.
+ 
+ [ Fix ]
+ 
+ Marco and I worked upstream on this fix. We found out that there was a
+ problem like this-
+ 
+ The GdmClient has a shared GDBusConnection for its operations. The first
+ time  someone calls for it, it is created and stored in the object's
+ private structure. Subsequent calls return *a new reference* to this
+ same object. It turned out that the asynchronous method to get the
+ connection was accidentally unreferencing its object before giving it to
+ the caller if it was returning an already-existing connection.
+ 
+ For this to work properly, we need to nullify the pointer we stored when
+ the connection goes away, so we know when to make a new one. There were
+ some cases where we didn't add the weak references required to do that.
+ Those are also fixed.
+ 
+ [ Regression potential ]
+ 
+ Now we share connections more than we did before. We also more carefully
+ track when to clear our object. If we got this wrong, we might end up
+ leaking the connection or dropping it in even more cases.
+ 
+ [ Original report ]
+ 
+ 
+ WORKAROUND: After typing an incorrect password, click Cancel, then click your 
name, then enter your password again.
  
  ---
  
  Trying to log into my session (Gnome, Xorg), if I enter the wrong
  password before entering it correctly, the session doesn't load and I
  get a purple screen, a mouse cursor, and an invisible but clickable menu
  in the top right. If I enter it correctly the first time, there is no
  problem.
  
  I've replicated this from a fresh boot, after logging out and after
  'sudo service gdm restart' from the Ctrl-Alt-F4 console.
  
  This is a fresh install, and didn't occur when I was using a previous
  install of 18.04 (until Friday).
  
  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: gdm3 3.28.0-0ubuntu1
  ProcVersionSignature: Ubuntu 4.15.0-15.16-generic 4.15.15
  Uname: Linux 4.15.0-15-generic x86_64
  ApportVersion: 2.20.9-0ubuntu6
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  Date: Sun Apr 22 20:31:13 2018
  InstallationDate: Installed on 2018-04-22 (0 days ago)
  InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180421.1)
  SourcePackage: gdm3
  UpgradeStatus: No upgrade log present (probably fresh install)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1766137

Title:
  [regression] Password accepted but login fails (blank purple screen
  and mouse pointer only)

To manage notifications about this bug go to:
https://bugs.launchpad.net/gdm/+bug/1766137/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to