The first try was when I applied a wrong configuration to grub and thereafter the laptop did not boot anymore (ok, it was some years ago…)
This time, after what seemed a normal update of my laptop, which is now running Archlinux, and a concurrent installation of cutegram, I found that I was unable do anything on the machine and I was basically locked out from my machine. Login from console give “login error” even before asking for the password and even with root. SSH did not work and also
su did not work.
After a bit od digging, I was able to reboot to a shell rescue using systemd, I just needed to add the option
systemd.unit=rescue.target to the kernel command line.
Once logged in, I begun to look for the problem. The first suspect was cutegram, but it turn out innocent.
After a bit of analisys of the log, I found this error:
Jun 17 23:35:05 galactica login: PAM adding faulty module: /usr/lib/security/pam_unix.so
Jun 17 23:35:01 galactica login: PAM adding faulty module: /usr/lib/security/pam_access.so
which was followed by
PAM unable to dlopen(/usr/lib/security/pam_unix.so): /usr/lib/libtirpc.so.1: undefined symbol: __rpc_get_default_domain
The basic problem is that I was sure that I had not updated anything related to PAM or friends. The second error, anyway, directed me to the kernelof the problem: for some reason, the libtirpc library was the wrong version (also if I still don’t know why).
The first try to solve the problem was to try to run
pacman -S libtirpc, which oddly enough update the library: after that the system restarted to work properly.
I still don’t know what happened and I am writing this to maybe help someone else. My impression was that it was an unfortunate update timing (since I use a mirror) which for some combination of factor completed my update but at the same time not all the packages in the mirror was at the correct version.