Update 2024-11-30 broke keepassxc

This morning everything was fine with keepassxc, used it several times. After the update 2024-11-30, it does not start:

$ keepassxc
keepassxc: error while loading shared libraries: /usr/lib/libQt5Gui.so.5: unexpected reloc type 0x00020006

How to fix this?

Did you:

  • Reboot after the update? (had to ask)
  • Try uninstalling (not reinstalling);
sudo pacman -Rns keepassxc

and then installing again (after a reboot)?


I note that the same version is in all branches currently. I haven’t seen any issues specific to keepassxc, though someone else might know more.

@philm

/usr/lib/libQt5Gui.so.5: unexpected reloc type 0x00020006

Well, I use it myself as well, every day, the whole daay, and I have absolutely NO problems.

That file, however, belongs to the qt5-base package, so make sure that’s installed:

pamac install qt5-base --overwrite='/usr/*'

Thank you @soundofthunder @Mirdarthos,

Done the reboot twice by now, just to be sure … But same issue:

$ keepassxc
keepassxc: error while loading shared libraries: /usr/lib/libQt5Gui.so.5: unexpected reloc type 0x00020006

After that:

$ pamac install qt5-base --overwrite='/usr/lib/libQt*'
preparing...
Warning: qt5-base-5.15.16+kde+r130-3 is actual -- Skip it
Nothing to do.

Finally removed

$ sudo pacman -Rns keepassxc
Abhängigkeiten werden geprüft …
:: git benötigt optional org.freedesktop.secrets: keyring credential helper
:: libsecret benötigt optional org.freedesktop.secrets: secret storage backend
:: qca-qt5 benötigt optional botan: botan plugin
:: qca-qt6 benötigt optional botan: botan plugin
Pakete (2) botan-3.6.1-1  keepassxc-2.7.9-4
Gesamtgröße der entfernten Pakete:  39,42 MiB

and re-installed: Same issue. Now what?

Check to run sha256sum /usr/lib/libQt5Gui.so.5.15.16

2 Likes

Thank you @Zesko:

sha256sum /usr/lib/libQt5Gui.so.5.15.16
69f77a48aacdfe1fd4cff839e921b27705cab8e0198b335308898433b3157641  /usr/lib/libQt5Gui.so.5.15.16

It looks like the library file got corrupted because of your “damaged” hardware. It is called bit rot or bit flip

1 Like

@Zesko: I’ve done the self assessment, but don’t understand the result:

$ sudo smartctl -a "/dev/nvme0n1"
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.63-1-MANJARO] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       Samsung SSD 970 EVO Plus 2TB
Serial Number:                      S4J4NZFN904794Z
Firmware Version:                   2B2QEXM7
PCI Vendor/Subsystem ID:            0x144d
IEEE OUI Identifier:                0x002538
Total NVM Capacity:                 2.000.398.934.016 [2,00 TB]
Unallocated NVM Capacity:           0
Controller ID:                      4
NVMe Version:                       1.3
Number of Namespaces:               1
Namespace 1 Size/Capacity:          2.000.398.934.016 [2,00 TB]
Namespace 1 Utilization:            1.881.366.159.360 [1,88 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            002538 59019d7436
Local Time is:                      Tue Dec  3 17:49:59 2024 CET
Firmware Updates (0x16):            3 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x03):         S/H_per_NS Cmd_Eff_Lg
Maximum Data Transfer Size:         512 Pages
Warning  Comp. Temp. Threshold:     85 Celsius
Critical Comp. Temp. Threshold:     85 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     7.50W       -        -    0  0  0  0        0       0
 1 +     5.90W       -        -    1  1  1  1        0       0
 2 +     3.60W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3      210    1200
 4 -   0.0050W       -        -    4  4  4  4     2000    8000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        35 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    86.052.962 [44,0 TB]
Data Units Written:                 78.649.437 [40,2 TB]
Host Read Commands:                 631.733.317
Host Write Commands:                765.056.131
Controller Busy Time:               2.300
Power Cycles:                       8.859
Power On Hours:                     2.376
Unsafe Shutdowns:                   78
Media and Data Integrity Errors:    0
Error Information Log Entries:      10.045
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               35 Celsius
Temperature Sensor 2:               29 Celsius

Error Information (NVMe Log 0x01, 16 of 64 entries)
Num   ErrCount  SQId   CmdId  Status  PELoc          LBA  NSID    VS  Message
  0      10045     0  0x9013  0x4004      -            0     0     -  Invalid Field in Command

Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
No Self-tests Logged

For the purpose of checking the issue - I installed keepassxc using pacman on unstable branch.

I have no issues launching keepassxc.

This leads me assume there is an inconsistency on your system.

I have also tested a system on stable branch - same result.

1 Like

Not just the SSD, it could also be your RAM, the motherboard’s bus system, or even the CPU cache. The first step is to run Memtest to check your RAM and CPU cache. I don’t know which testing tool is good.

Keep in mind that testing tools like smartctl have limitations in detecting issues. Based on my experience, Memtest also has its limits — it failed to detect my faulty RAM, which had a random bit flip. In fact, none of the various test tools I tried were able to identify the problem.

Only Btrfs, with its checksum mechanism, correctly detected the issue. Testing tools wasted over 12 hours of my time without providing a clear result.

1 Like

Thanks. What do you mean, how to find the inconsistency?

Well, here’s one result that’s fairly straightforward:

Have you had any other issues lately that might be contributing?
Have you shutdown the computer using the power button or performed a hard reset?

No shutdown and not any issue with other applications.

Inconsistencies can occur when an AUR custom package needs rebuild or it can be filesystem errors on your root device.

If you installed keepassxc from the repo then filesystem could be the cause.

Boot a live iso and run the fsck command for the relevant partition.

If needed:

Do you have the same checksum of the lib?

This library file is from the qt5-base package. It is not from AUR.

I think the AUR reference was purely anecdotal.

I see there is no exact version qt5-base-5.15.16+kde+r130-3 in public AUR.

on my system pamac (gui) does not report any package libQt5Gui

That’s no surprise.
libqt5gui.so is a library… the package is qt5-base as @Zesko mentioned.

To recap; run fsck from a bootable Installer, and then see if that corrects any inconsistencies in the filesystem. After that, see if your app works as expected.

Keep in mind though, it’s possible that your installation may be suffering from a general lack of maintenance or bit rot. If fsck is seen to correct a lot of filesystem errors, then this becomes even more likely.