A concerning message in my update log

Found a concerning message in my update log:
[ALPM-SCRIPTLET] ERROR: sil: invalid metadata checksum in area 3 on /dev/dm-1
could this be due to some update or is this a real issue?

dm-1 is my main partition, I’m not using raid.

pacman.log

[ALPM] running '90-mkinitcpio-install.hook'...
[ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux519.preset: 'default'
[ALPM-SCRIPTLET] ==> Using configuration file: '/etc/mkinitcpio.conf'
[ALPM-SCRIPTLET]   -> -k /boot/vmlinuz-5.19-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.19-x86_64.img
[ALPM-SCRIPTLET] ==> ERROR: Invalid option -k -- '/boot/vmlinuz-5.19-x86_64' must be readable
[ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux519.preset: 'fallback'
[ALPM-SCRIPTLET] ==> Using configuration file: '/etc/mkinitcpio.conf'
[ALPM-SCRIPTLET]   -> -k /boot/vmlinuz-5.19-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.19-x86_64-fallback.img -S autodetect
[ALPM-SCRIPTLET] ==> ERROR: Invalid option -k -- '/boot/vmlinuz-5.19-x86_64' must be readable
[ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux612.preset: 'default'
[ALPM-SCRIPTLET] ==> Using default configuration file: '/etc/mkinitcpio.conf'
[ALPM-SCRIPTLET]   -> -k /boot/vmlinuz-6.12-x86_64 -g /boot/initramfs-6.12-x86_64.img
...

[ALPM] running '90-update-appstream-cache.hook'...
[ALPM-SCRIPTLET] ✔ Metadata cache was updated successfully.
[ALPM] running '99-update-grub.hook'...
[ALPM-SCRIPTLET] Generating grub configuration file ...
[ALPM-SCRIPTLET] Found theme: /usr/share/grub/themes/manjaro/theme.txt
[ALPM-SCRIPTLET] Found linux image: /boot/vmlinuz-7.0-x86_64
[ALPM-SCRIPTLET] Found initrd image: /boot/intel-ucode.img /boot/initramfs-7.0-x86_64.img
[ALPM-SCRIPTLET] Found linux image: /boot/vmlinuz-6.18-x86_64
[ALPM-SCRIPTLET] Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.18-x86_64.img
[ALPM-SCRIPTLET] Found linux image: /boot/vmlinuz-6.12-x86_64
[ALPM-SCRIPTLET] Found initrd image: /boot/intel-ucode.img /boot/initramfs-6.12-x86_64.img
[ALPM-SCRIPTLET] Warning: os-prober will be executed to detect other bootable partitions.
[ALPM-SCRIPTLET] Its output will be used to detect bootable binaries on them and create new boot entries.
[ALPM-SCRIPTLET] ERROR: sil: invalid metadata checksum in area 3 on /dev/dm-1
[ALPM-SCRIPTLET] Adding boot menu entry for UEFI Firmware Settings ...
[ALPM-SCRIPTLET] Found memtest86+ image: /boot/memtest86+/memtest.bin
[ALPM-SCRIPTLET] done

inxi

System:
  Kernel: 7.0.3-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-7.0-x86_64
    root=UUID=34e2d8f7-b660-4e84-8a78-55111aa16806 rw quiet
    cryptdevice=UUID=b0a2d0ae-5e87-415a-ab79-a5fe7820944e:luks-b0a2d0ae-5e87-415a-ab79-a5fe7820944e
    root=/dev/mapper/luks-b0a2d0ae-5e87-415a-ab79-a5fe7820944e
    resume=/dev/mapper/luks-3d19cc37-936b-4334-bf74-b77961fbbd8f apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: KDE Plasma v: 6.6.4 tk: Qt v: N/A info: frameworks v: 6.25.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Manjaro base: Arch Linux
Drives:
  Local Storage: total: 238.47 GiB used: 209.79 GiB (88.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: PM951 NVMe 256GB
    size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: BXV77D0Q temp: 33.9 C
    scheme: GPT
Partition:
  ID-1: / raw-size: 229.38 GiB size: 224.72 GiB (97.97%)
    used: 206.21 GiB (91.8%) fs: ext4 dev: /dev/dm-0 maj-min: 253:0
    mapped: luks-b0a2d0ae-5e87-415a-ab79-a5fe7820944e
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 35.7 MiB (11.9%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 8.8 GiB used: 3.54 GiB (40.2%)
    priority: -1 dev: /dev/dm-1 maj-min: 253:1
    mapped: luks-3d19cc37-936b-4334-bf74-b77961fbbd8f

GSmartControl
NVMe Basic health test: PASSED, manual Short Self-Test completed without errors, extended Self-Test: “Cannot run Extended Self-Test Sending command to drive failed.”

NVMe Non-Persistent Error Information Log:
Non-Persistent Error Log Size: 64
Number of Error Log Entries Read: 64

Error 85941    Command ID: A01A    LBA: 00000000000000000000    Invalid Field in Command
Error 85940    Command ID: 8019    LBA: 00000000000000000000    Invalid Field in Command
Error 85939    Command ID: 8006    LBA: 00000000000000000000    Invalid Field in Command
Error 85938    Command ID: B019    LBA: 00000000000000000000    Invalid Field in Command
Error 85937    Command ID: C007    LBA: 00000000000000000000    Invalid Field in Command
Error 85936    Command ID: 001A    LBA: 00000000000000000000    Invalid Field in Command
Error 85935    Command ID: C00C    LBA: 00000000000000000000    Invalid Field in Command
Error 85934    Command ID: 100B    LBA: 00000000000000000000    Invalid Field in Command
Error 85933    Command ID: F00A    LBA: 00000000000000000000    Invalid Field in Command
Error 85932    Command ID: F017    LBA: 00000000000000000000    Invalid Field in Command
Error 85931    Command ID: E014    LBA: 00000000000000000000    Invalid Field in Command
Error 85930    Command ID: 9009    LBA: 00000000000000000000    Invalid Field in Command
Error 85929    Command ID: 900E    LBA: 00000000000000000000    Invalid Field in Command
Error 85928    Command ID: 5016    LBA: 00000000000000000000    Invalid Field in Command
Error 85927    Command ID: 400A    LBA: 00000000000000000000    Invalid Field in Command
Error 85926    Command ID: 0015    LBA: 00000000000000000000    Invalid Field in Command

pacman.log?

Additionally the surrounding context in a log is usually helpful. Particularly in this case as it can occur in a couple of locations within some logic.

But most often it would occur during os-prober searching for other operating systems.

/dev/dm-1 is a device mapper virtual block device produced by the kernel. Possibly from an encrypted disk or a software RAID setup???

But that’s as far as my knowledge on this subject extends.

Yes, pacman.log and encrypted disk. Guess I’ll have to create a separate thread.

@Anthony

I’ve done that for you – Please provide the logs you mentioned. Also provide your system information formatted according to forum guidelines. See below. :point_down:

Regards.


[Mini-HowTo] Provide System Information

Basic details provided by *-fetch type apps might give enough information for someone wishing to buy a computer, however, for Support purposes it’s best to ask your system directly.

Output of the inxi command will generate more useful and detailed information for those who may wish to help:


Suggested inxi command (use either):

|||

|:—|—:expressionless:

|inxi -zv8| (short-form)|

|inxi --filter --verbosity=8| (long-form)|


Command output should be presented as pre-formatted text in accordance with forum guidelines. :eyes:


Running inxi within a chroot environment

  • Add --color=0 to the long-form command, or…

  • Change the short-form command to inxi -zv8c0

Your privacy is respected


[Mini-HowTo] Present code or command output

Note: Grave accent (or, backtick) characters are used. :eyes:

For inline code or to show a single command:

  • please follow this simple example: code here.

For multi-line command output:

  • place text beween two rows of three (```) backtick characters to form a scrollable text box, or …

  • use the </> button in the Compose window to achieve the same result.

The empty row between these rows of backtick characters is where to paste any multi-line command output (such as inxi).

An example of a pre-formatted text enclosure:


What is a Quark?

A. In Physics, an elementary particle and fundamental constituent of matter.

B. A character from the Star Trek: "Deep Space Nine" television series.

C. A soft, creamy, usually unsalted cheese traditional to central Europe.


1 Like

This is a guess:

It may be a file inconsistency possibly caused by an error in the underlying disk - but it may also point to a poorly maintained AUR package where the maintainer has rebuilt the package without recreating the .SRCINFO metadata

The error message point to a package named sil which originates in the AUR

Navigate into the folder /var/lib/pacman/local/sil.

The file mtree contains checksums for files related the package.

I suggest you check the package’s comment trail on AUR

“sil” in this case does not refer to the sil package but to “silicon image” or RAID metadata.

This error is generated by os-prober. I’ve had a look through the /usr/bin/os-prober script, and I think the underlying error is generated by dmraid. You can probably confirm this by running the following commands (this is what os-prober runs) as root and seeing if you get a similar message.:

dmraid -r -c

dmraid -sa -c

You are right - my guessing is wrong - since the header states [ALPM-SCRIPTLET] it seems more correct to associate the message with the script which has been executed.

Without knowing the actual context in which the message appears it is also impossible to provide a meaningful answer.

Unless you are actually using a raid setup - the message is usually harmless.

The documentation for these scriptlets can be read at

added info to first post

what is the output from (please verify the primary partition.

You EFI is on /dev/nvme0n1p1 so I am guessing your root is on /dev/nvme0n1p2

The result will be Version: 1 or Version: 2

 $ sudo cryptsetup luksDump /dev/nvme0n1p2 | grep Version
Version:        1

From some reading on cryptsetup - if version is luks1 - and it likely is - the error message indicates LUKS metadata corruption.

LUKS is designed so that without a valid header, decryption is impossible. Any attempt to fix the header without backup will cause permanent data loss.

  • Boot a rescue disk and open the container
  • Mount the container readonly
  • Copy your important data to external device

There is no LUKS repair tools. Do you have a backup of the LUKS header?

A good place to start

2 Likes
sudo cryptsetup luksDump /dev/nvme0n1p2 | grep Version
Version:        1

There is only this single instance of the dm-1 message in pacman.log, I rebooted/decrypted after the update more than once and it still works (knock on wood). Can the header be invalid in area 3 and still be valid overall - otherwise I don’t get why I can still decrypt?

There is no backup of the LUKS header.

How did this happen - is a physical defect likely?

Then I suggest you create one.

I don’t know

Perhaps. According to info I gathered - luks is keeping backup copies in the areas.

I have no experience with this kind of issue - so I only know what I read.

Data from inxi shows /dev/dm-1 is used for swap

1 Like

An encrypted swap by the looks of it. I guess a backup isn’t required then. Perhaps deleting the swap partition and recreating it would resolve the issue? I have very little experience with LUKS so won’t be able to help further.

My bad, it is the encrypted swap, that might explain why I can still access my files.

Thank you for that,however, your inxi output is incomplete. Please edit the first post and replace it with the complete output from inxi.

Take care when selecting and copying the text. :eyes:

Or install the wl-clipboard package and simply do inxi -zv8 | wl-copy to put the inxi output directly on your clipboard.

4 Likes

Don’t worry, there was no error, just irrelevant info being omitted.

How to delete an encrypted swap partition? - #7 by TriMoon

  1. Check inside /etc/fstab and /etc/crypttab for any signs of swap configurations, and disable them when found.
  2. Reboot your system to make sure it does not use the Swap partition.
  3. Double check with swapon -s
  4. If after these steps you are certain that the swap partition is not used anymore, you can use your favorite partitioning tool to re-assign the swap partition for other usage.
1 Like

When system information is requested via the inxi -zv8 command, please ensure output is complete, irrespective of whether or not you feel any part of it might be irrelevant.

2 Likes