PAM can't log in (Critical error - immediate abort)


I rebooted today to find lightdm not starting, and upon attempting to log in through tty2, I got a message saying

Critical error - immediate abort

This is an issue with pam.


I booted a live USB containing Linux Mint (any distro would work, this is called a rescue USB system, and you should always have one). I connected to the wifi, opened the terminal, and did the following:

  • lsblk
    this showed me my hard disk, named /dev/sda1
  • sudo mount /dev/sda1 /mnt
    this mounts the hard disk
  • sudo chroot /mnt
    this changes the root into my hard disk
  • cd / ; mount -t proc /proc proc/ ; mount -t sysfs /sys sys/ ; mount --rbind /dev dev/
    this is required to set some stuff up after chrooting, see arch wiki
  • pacman -Si pam pambase | grep Version
    this shows the versions of pam and pambase

At this point, I determined that the problem was with pam 1.5.3-1, and thus I had to downgrade. I saw no need to downgrade pambase 20221020-1, since it hasn’t been updated in months.

From here on, I followed the guidelines from the downgrading packages article on arch wiki:

  • sudo pacman -U /var/cache/pacman/pkg/pam-1.5.2-2-x86_64.pkg.tar.zst
    beware that the version of pam might differ in your case, but I used the above command to downgrade pam from 1.5.3-1 to 1.5.2-2.
  • sudo nano /etc/pacman.conf
    use this to add IgnorePkg = pam to the file. For the moment, we don’t want pam upgrading when we run sudo pacman -Syu.

I then exited from chroot using exit, passed shutdown now, removed the Linux Mint USB, and booted into Manjaro, and started writing this post.

I hope you found this helpful.

System info:

  • Kernel: 6.1.29-1-MANJARO
  • Branch: Testing

Did you have unattended .pacnews/.pacsaves?

pacdiff -o

Yes, several ones. I’ve never run pacdiff before. I suppose I’m still kind of a noob.

At some point you are going to need to review/merge/etc those files along with your upgrades. What and how is dependent on your system … but its usually handled as it occurs … I would suppose any ones having to do with PAM/login will need that treatment in tandem with next time you upgrade pam (not before).

Most people seem to use meld as their comparison tool.

So one way to run pacdiff interactively for management would be:

sudo -E DIFFPROG=meld pacdiff
1 Like