Phone no longer working - "locker is broken and unlocking is not possible"

Problems like this happen from time to time on the Pinephone(pro)

I would try to reinstall Manjaro. That usually fixes such problems.

What is your version of kscreenlocker and layer-shell-qt?
You can check with:

pacman -Qi kscreenlocker layer-shell-qt

Via SSH.

I’m running a PinePhone Beta Ed. Seeing this on both the Beta and Stable branches.

On the stable branch it’s showing version 5.25.5-1 of kscreenlocker and version 5.25.5-1 of layer-shell-qt

That’s weird. I’m running the same and do not have the lockscreen issue.

Same version of kscreenlocker and layer-shell-qt but with the issue.

I’ve been looking at the journal for my PlaMo install from another OS, and it looks like all these crashes Firewave posted above are being caused by a Qt lib version mismatch. Here’s a grep of my journal for the latest boot attempt for keyword “incompatible”:

Oct 01 19:16:43 pinephonepro polkit-kde-authentication-agent-1[4540]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:43 pinephonepro org_kde_powerdevil[4533]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:42 pinephonepro polkit-kde-authentication-agent-1[4482]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:42 pinephonepro maliit-keyboard[4468]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:41 pinephonepro plasmashell[4401]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:41 pinephonepro polkit-kde-authentication-agent-1[4381]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:41 pinephonepro kdeconnectd[4361]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:40 pinephonepro calindac[4375]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:40 pinephonepro org_kde_powerdevil[4383]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:40 pinephonepro DiscoverNotifier[4376]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:39 pinephonepro maliit-keyboard[4324]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:39 pinephonepro polkit-kde-authentication-agent-1[4328]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:38 pinephonepro plasmashell[4281]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:38 pinephonepro polkit-kde-authentication-agent-1[4261]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:38 pinephonepro org_kde_powerdevil[4263]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:38 pinephonepro xdg-desktop-portal-kde[4264]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:38 pinephonepro maliit-keyboard[4245]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:37 pinephonepro plasmashell[4210]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:37 pinephonepro kscreenlocker_greet[4211]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:37 pinephonepro maliit-keyboard[4192]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:36 pinephonepro kscreenlocker_greet[4196]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:36 pinephonepro kscreenlocker_greet[4188]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:36 pinephonepro kscreenlocker_greet[4178]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:34 pinephonepro kwalletd5[3914]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:34 pinephonepro kded5[4117]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:33 pinephonepro kcminit_startup[4001]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)
Oct 01 19:16:33 pinephonepro ksplashqml[3999]: Cannot mix incompatible Qt library (5.15.5) with this library (5.15.6)

It looks like the same set of programs are crashing over and over due to this mismatch. Looking at the versions of installed packages, I do see that while most packages have been updated, qt5-es2-wayland is still on 5.15.5, and pacman -Syy qt5-es2-wayland reports “target not found” even with updated mirrorlist.

I’m not sure what happened here, but I simply downloaded the appropriate version from one of the mirrors (https://mirror.moson.org/manjaro/arm-stable/extra/aarch64/qt5-es2-wayland-5.15.6%2Bkde%2Br49-1-aarch64.pkg.tar.zst) and installed via pacman -U <pkgfile> in a chroot and now my PlaMo install boots correctly again.

The qt5-es2-wayland target still doesn’t resolve in pacman, but I also noticed while doing this, that the .sig file for this exact package is actually the package itself. See Index of /manjaro/arm-stable/extra/aarch64/ for instance: qt5-es2-wayland signature file is 1MB just like the package (and I verified by hash that these are actually the same package file). So perhaps this has something to do with the sync problems that caused error in the first place?

1 Like

Indeed, the .sig file is definitely invalid.

Those PinePhones that work after the upgrade are probably using the non-es2 Qt 5 packages (which was the default for a while, until it was reverted to the es2 ones).

I am holding off on upgrading mine until this issue is resolved.

Thank you. Downloaded that file and put the SD card reader into the dock. Ran pacman -U qt5-es2-wayland-5.15.6%2Bkde%2Br49-1-aarch64.pkg.tar.zst and I can login again :slight_smile:

1 Like

This is odd indeed. It does seem like the .sig file is wrong, which I have no idea how happened, as it’s been updated and signed the same way as the others.

In any case. qt5-es2-wayland is actually not needed anymore by the system, so you can replace it with qt5-wayland just the same.

Indeed, But also newer images have been using regular qt5-wayland too, so as I mentioned above, you should replace the es2 version of this package with the regular one. At least Beta 12 and onward is using regular qt5-wayland package.

When installing qt-wayland, pacman asked me if I wanted to replace it by saying “package conflicts with qt-es2-wayland”. In this case, pacman’s suggestion is NOT (y/N). So i think many people are keeping qt-es2-wayland.

In any case. qt5-es2-wayland is actually not needed anymore by the system, so you can replace it with qt5-wayland just the same.

I see. But we cannot just replace the package before the upgrade with pacman -S qt5-wayland because the old qt5-wayland 5.15.5 is no longer on the mirrors. Sure, I can run pacman -Sy first so that it will pick up the 5.15.6 build, but then it will probably want to upgrade the rest of Qt to 5.15.6 in the same operation (and it should, because I need it to, or it would end up in a (probably unbootable) mess), which in turn can leave other stuff broken until I upgrade everything.

Not sure what to tell you here. It’s how it is.

The root cause of the problem is that the mirrors have an invalid qt5-es2-wayland-5.15.6+kde+r49-1-aarch64.pkg.tar.zst.sig file, so is there anything that can be done to fix that on the server end?

It also worries me that nobody knows how that has happened (rsync hash collision maybe?), since a package with no valid signature is a package whose authenticity cannot be verified.

An updated package is already in unstable branch. You can try using that one. If it doesn’t have any regressions (because regular qt5-wayland is only at r49), then I can forward the one from unstable.

The building and uploading of these packages are done by an automated system.

How can an automated system mess up in that particular way? I could see a human mixing up the file names with and without the .sig ending, but a program will not usually do that. So I have to wonder whether somebody messed with the package between when the automated system built in and when the mirrors rsynced it from the masters, and whether it may have been backdoored.

I don’t know what happened to this particular package.

In any case, I have just forwarded the r50 version from unstable to both testing and stable branch.

So it should be able to update it, as soon as the mirrors sync.

Thanks!

1 Like

I have now updated and I was seeing the issue described here despite having qt5-es2-wayland-5.15.6+kde+r50-1 installed.

Thankfully, I was able to SSH in and run pacman -S qt5-wayland to switch to qt5-wayland-5.15.6+kde+r49-1. That fixed it.

But qt5-es2-wayland seems to be entirely broken, even the package that does not have a corrupt signature.

Sweet, running pacman -S qt5-wayland fixed it for me too.

Odd. Well it gives me a reason to do what I’ve been wanting to do for a while.

I’ll add an update that should replace all installs of qt5-es2-wayland with qt5-wayland. Will be done in manjaro-system package.