Wednesday, October 9, 2019

Ubuntu 18.04 unity login loop



Description of the issue:



I'm stuck in a login loop with Ubuntu 18.04 64 bit (4.15.0-46-generic x86_64 GNU/Linux) when I try to login with "Unity (default)" (installed after: https://linuxconfig.org/how-to-install-unity-desktop-on-ubuntu-18-04-bionic-beaver-linux ). Everything was fine before installing/messing with libprotobuf10/15 from a third party PPA (nextgis: https://launchpad.net/~nextgis/+archive/ubuntu/ppa?field.series_filter=bionic ).



What I've tried:



None of the answers here helped: Ubuntu gets stuck in a login loop




Graphic drivers:



I don't have any third party graphic drivers like NVidia or AMD;



$ sudo lshw -c video
*-display
description: VGA compatible controller
product: HD Graphics 5500
vendor: Intel Corporation

physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:45 memory:f0000000-f0ffffff memory:e0000000-efffffff ioport:3000(size=64) memory:c0000-dffff



What I've done:



I thought unity was corrupted after installing python3-protobuf from nextgis PPA: libprotobuf15 install prompt for removing system packages but after deactivating this PPA, apt-get update and reinstalling ubuntu-unity-desktop and the official python3-protobuf the problem is still there;



$ sudo apt-cache policy ubuntu-unity-desktop
ubuntu-unity-desktop:
Installed: 0.1
Candidate: 0.1
Version table:
*** 0.1 500

500 http://ch.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
100 /var/lib/dpkg/status

$ sudo apt-cache policy python3-protobuf
python3-protobuf:
Installed: 3.0.0-9.1ubuntu1
Candidate: 3.0.0-9.1ubuntu1
Version table:
*** 3.0.0-9.1ubuntu1 500
500 http://ch.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

100 /var/lib/dpkg/status


I also tried removing .Xauthority and .ICEauthority as well as re-configuring lightdm:



$ sudo dpkg-reconfigure lightdm    


but none of them worked.




I precise I can login with gnome without any problems, but with unity, my screen gets black a few seconds and then I'm facing the session login screen again.



Question:



How to recover the unity session?



More informations:



This may help:




the last line of file .xsession-errors:



A dependency job for unity-session.target failed. See 'journalctl -xe' for details.


And these lines in the output of the journalctl -xe command I ran just after the buggy login with unity are probably telling us there is something wrong with lightdm authentication:



mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM adding faulty module: pam_kwallet.so
mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory

mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM adding faulty module: pam_kwallet5.so
mar 25 11:26:57 username-laptop-1804 lightdm[5441]: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "username"
mar 25 11:27:02 username-laptop-1804 systemd-logind[776]: Removed session c6.
-- Subject: Session c6 has been terminated


Some of the dmesg outputs after 1 unsuccessful login with unity:



$ dmesg | grep -i "warn\|err\|lightdm\|unity"
[ 0.000000] ACPI: IRQ0 used by override.

[ 0.000000] ACPI: IRQ9 used by override.
[ 0.045146] ACPI: EC: interrupt blocked
[ 0.061268] ACPI Error: Needed type [Reference], found [Integer] (ptrval) (20170831/exresop-103)
[ 0.061300] ACPI Error: Method parse/execution failed \_PR.CPU0._PDC, AE_AML_OPERAND_TYPE (20170831/psparse-550)
[ 0.063508] ACPI: Using IOAPIC for interrupt routing
[ 0.072809] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11)
[ 0.072923] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *9 10 11)
[ 0.073033] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 *10 11)
[ 0.073143] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 *6 7 9 10 11)
[ 0.073252] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 *11)

[ 0.073334] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
[ 0.073444] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 *10 11)
[ 0.073553] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 *7 9 10 11)
[ 0.101434] ACPI: EC: interrupt unblocked
[ 3.588547] RAS: Correctable Errors collector initialized.
[ 6.937212] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 10.673768] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[ 10.857401] random: 7 urandom warning(s) missed due to ratelimiting
[ 12.282650] audit: type=1400 audit(1553512054.380:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/lightdm/lightdm-guest-session" pid=603 comm="apparmor_parser"
[ 12.282653] audit: type=1400 audit(1553512054.380:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/lightdm/lightdm-guest-session//chromium" pid=603 comm="apparmor_parser"



One more thing; there is not differences between the output of dmesg before trying to login (I output $ dmesg > dmesg0.txt before), and after the unsuccessful try with unity (I output $ dmesg > dmesg1.txt after).
Then;



$ diff dmesg0.txt dmesg1.txt     


gives me no extra information.



One more piece of information; the result of the command unity --debug when run from the CLI before starting any session at the greeter:




/usr/lib/x86_64-linux-gnu/unity/compiz-config-profile-setter: error while loading shared libraries: libprotobuf.so.10: cannot open shared object file: No such file or directory
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
/usr/bin/compiz (core) - Info: Loading plugin: core
/usr/bin/compiz (core) - Info: Starting plugin: core
[New Thread 0x7ffff3118700 (LWP 12410)]
Invalid MIT-MAGIC-COOKIE-1 key/usr/bin/compiz (core) - Fatal: Couldn't open display :0
/usr/bin/compiz (core) - Info: Stopping plugin: core
/usr/bin/compiz (core) - Info: Unloading plugin: core

[Thread 0x7ffff3118700 (LWP 12410) exited]
[Inferior 1 (process 12406) exited with code 01]
No stack.
WARNING: no DISPLAY variable set, setting it to :0


I finally succeeded.
The good clue was this error from the unity --debug command I mentionned:



/usr/lib/x86_64-linux-gnu/unity/compiz-config-profile-setter: error while loading shared libraries: libprotobuf.so.10: cannot open shared object file: No such file or directory



Even if I deactivated the nextgis PPA, libprotobuf10 was referenced as version 3.5.x by apt-cache policy, that meant it was the version packages from this PPA. But apt-cache policy has no '500' code and no associated PPA URL as the nextgis PPA from where the version 3.5.x came was removed!
And a $ find /usr -iname "*libprotobuf.so*" only gave me:



/usr/lib/x86_64-linux-gnu/libprotobuf.so.15


And the apt-get install --reinstall libprotobuf10 command didn't work, as it was not able to download (downgrade to) the previous official 3.0.x version from the official repositories!



What I did:




So, I removed it (libprotobuf10) with apt-get:



sudo apt-get remove libprotobuf10 


and this command wanted to remove all these packages as well:



compiz compiz-gnome evolution-data-server gdm3 gnome-online-accounts gnome-shell gnome-shell-extension-dash-to-panel gnome-shell-extensions gnome-todo libcompizconfig0 libebook-1.2-19 libebook-contacts-1.2-2 libedata-book-1.2-25 libphonenumber7 libprotobuf10 libprotoc10 python3-macaroonbakery python3-protobuf ubuntu-desktop ubuntu-session ubuntu-unity-desktop unity unity-control-center unity-session unity-tweak-tool



which I confirmed!



To be safe, prior to the confirmation, I copied/pasted this list of packages in a text file! After what I reinstalled them all with apt.



And of course, I reinstalled libprotobuf10. This time it worked and apt was able to install the version 3.0.x from the official Ubuntu repositories.



This has fixed the unity login issue.



Now:




$ find /usr -iname "*libprotobuf.so*"
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10.0.0
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10

No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...