Pacman error discussion - Zstd decompression failed

I had some pacman problems, similar to another post while updating to 1/19 stable update. I install on a VM before installing on a physical machine, hoping to catch bugs, review customizations. If there are problems, restore the VM.

I checked the mirrors with pacman-mirrors4. All was okay.

Step 1

I ran the command below.

pacman -Syyu

I got the error below

error: could not extract /usr/lib/libreoffice/program/libEngine12.so (Zstd decompression failed: Corrupted block detected)
error: problem occurred while upgradeing libreoffice-still
error: could not commit transaction
error: failed to commit transaction
Errors occurred, no packages were upgraded

I have received the above error on multiple occasions over the course of months. Prior to the message, “no packages were upgraded”, there was a list of packages being upgraded, like “upgrading libzmf”. Does the final error message mean that those upgrades were rolled back? I’m wondering what state the machine is in after this failure.

Step 2

I ran the command again. Most times this works, but this time I got the error below.

xfce4-settings: /usr/share/xfce4/helpers/*.desktop exists in filesystem
error: failed to commit transaction
Errors occurred, no packages were upgraded

NOTE: *.desktop refers to all desktop files in the directory

Step 3

The install was successful after the commands below were executed.

pacman -Fx /usr/share/xfce4/helpers/   # what package owns the file
pacman -S --overwrite "*" xfce4-settings
pacman -Syyu

Another try

I tried this update yesterday with the same results in Step 1 above. But Step 2, I used pamac5. I received the warning below.

Warning: xfce4-settings: /usr/share/xfce4/helps/.desktop existed
It has been backup up to /usr/share/xfce4/helpers/
.old

Finding a solution

I’m not sure what a user should make of the output below. I can’t find it at the moment, but in the arch forum, there was a command chain that when a package contained a file with a mismatch, they would reinstall it.

paccheck --md5sum | grep mismatch
apr: '/usr/include/apr-1/apr_thread_cond.h' md5sum mismatch (expected 3bc443cbeb9f94b4db906449621080c9)
binutils: '/usr/share/locale/fi/LC_MESSAGES/gas.mo' md5sum mismatch (expected 0b88d1de88bc447bae2d554aa5b7094c)
filesystem: '/etc/profile.d/home-local-bin.sh' md5sum mismatch (expected 0c09f5ba044d21ae976b7fee65aeea74)
ghc-libs: '/usr/lib/ghc-8.10.3/package.conf.d/package.cache' md5sum mismatch (expected b1c82afd59b607c02a121d4738dc11cd)
**libreoffice-still: '/usr/lib/libreoffice/program/libEngine12.so' md5sum mismatch (expected 3f0b6f8a8d6a74b311dda6a136ebc6cc)**
mesa: '/usr/lib/dri/i915_dri.so' md5sum mismatch (expected 8d3ceae21e3340b208be02168613fcae)
mesa: '/usr/lib/dri/i965_dri.so' md5sum mismatch (expected 8d3ceae21e3340b208be02168613fcae)
mesa: '/usr/lib/dri/nouveau_vieux_dri.so' md5sum mismatch (expected 8d3ceae21e3340b208be02168613fcae)
mesa: '/usr/lib/dri/r200_dri.so' md5sum mismatch (expected 8d3ceae21e3340b208be02168613fcae)
mesa: '/usr/lib/dri/radeon_dri.so' md5sum mismatch (expected 8d3ceae21e3340b208be02168613fcae)
thunderbird: '/usr/lib/thunderbird/distribution/distribution.ini' md5sum mismatch (expected 1ef0f094e533a68399b96dc8080c6a6e)
vlc: '/usr/lib/vlc/plugins/plugins.dat' md5sum mismatch (expected c49c9b8ccc552a2516e9ab2fda0a48d6)

Since the first error in Step 1 dealt with liberoffice-still, I downloded the file and verified the signature. The libreoffice file is also in the above output. With the wget file, how do I compare the md5sum. paccheck3 will check the md5sums in the mtree file in the local DB, but is there a easy way to check the wget file? Is there a tool available?

wget https://mirrors.gigenet.com/manjaro/stable/extra/x86_64/libreoffice-still-6.4.7-9-x86_64.pkg.tar.zst
wget https://mirrors.gigenet.com/manjaro/stable/extra/x86_64/libreoffice-still-6.4.7-9-x86_64.pkg.tar.zst.sig
pacman-key -v https://mirrors.gigenet.com/manjaro/stable/extra/x86_64/libreoffice-still-6.4.7-9-x86_64.pkg.tar.zst.sig https://mirrors.gigenet.com/manjaro/stable/extra/x86_64/libreoffice-still-6.4.7-9-x86_64.pkg.tar.zst