Can't hibernate after udpate and systemd-vconsole-setup fails

Hello Garuda users.
I noticed that the recent update made me unable to hibernate and also makes systemd-vconsole-setup fail with the following error logs:

systemd-vconsole-setup:

Dec 10 14:26:10 siddharth systemd[1]: Failed to start Virtual Console Setup.
Dec 10 14:26:10 siddharth (line-ask)[293]: dracut-cmdline-ask.service: Failed to set up standard input: Input/output error
Dec 10 14:26:10 siddharth systemd-vconsole-setup[288]: Failed to lock /dev/console: Input/output error
Dec 10 14:26:10 siddharth kernel: 
Dec 10 14:26:10 siddharth systemd-vconsole-setup[428]: Failed to lock /dev/console: Input/output error
Dec 10 14:26:10 siddharth systemd[1]: Failed to start Virtual Console Setup.

When I try to hibernate my system just shuts down. I initially thought this might be a kernel issue and tried switching from clear to lts but no dice. Then I started looking at journal logs and saw this,

Dec 10 14:42:57 siddharth systemd[1]: Starting Hibernate...
Dec 10 14:42:57 siddharth kernel: PM: Image not found (code -16)
Dec 10 14:42:57 siddharth systemd-sleep[16704]: Failed to lock home directories: Unknown object '/org/freedesktop/home1'.
Dec 10 14:42:57 siddharth kernel: PM: hibernation: hibernation entry
Dec 10 14:42:57 siddharth systemd-sleep[16704]: Performing sleep operation 'hibernate'...

Looking at the error I found this was mostly caused by user created issue where they either forgot to add a kernel parameter or forgot to add the resume module in their initrd. Neither of these is the case for me.
as can be seen from the output of,
lsinitrd

Image: /boot/initramfs-linux-clear.img: 108M
========================================================================
Early CPIO image
========================================================================
drwxr-xr-x   1 root     root            0 Dec 10 14:22 .
-rw-r--r--   1 root     root            2 Dec 10 14:22 early_cpio
drwxr-xr-x   1 root     root            0 Dec 10 14:22 kernel
drwxr-xr-x   1 root     root            0 Dec 10 14:22 kernel/x86
drwxr-xr-x   1 root     root            0 Dec 10 14:22 kernel/x86/microcode
-rw-r--r--   1 root     root      7367680 Dec 10 14:22 kernel/x86/microcode/GenuineIntel.bin
========================================================================
Version: dracut-059

dracut modules:
systemd
systemd-initrd
i18n
btrfs
kernel-modules
kernel-modules-extra
btrfs-snapshot-overlay
resume
rootfs-block
terminfo
udev-rules
dracut-systemd
usrmount
base
fs-lib
shutdown
========================================================================

and,

lsblk -f

NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
zram0                                                                              [SWAP]
nvme0n1                                                                            
├─nvme0n1p1 vfat   FAT32       4058-7EE9                             298.8M     0% /boot/efi
├─nvme0n1p2 btrfs              e0a08d20-208f-444a-a6f0-281ffd8a1e1b  434.5G     5% /var/tmp
│                                                                                  /var/log
│                                                                                  /var/cache
│                                                                                  /srv
│                                                                                  /root
│                                                                                  /home
│                                                                                  /
└─nvme0n1p3 swap   1     swap  1824b554-dd46-4e14-a85d-6aafd14791a7                [SWAP]
File: /proc/cmdline
BOOT_IMAGE=/@/boot/vmlinuz-linux-clear root=UUID=e0a08d20-208f-444a-a6f0-281ffd8a1e1b rw rootflags=subvol=@ quiet console=tty0 console=ttyS0,115200n8 cryptom
gr.notests initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=btrfs
 tsc=reliable rw resume=UUID=1824b554-dd46-4e14-a85d-6aafd14791a7 loglevel=3 acpi_backlight=video nvidia-drm.modeset=1 ibt=off

Based on my online searches I have tried adding nomodset and removing the acpi_backlight command line parameters to no avail. At this point I would also like to mention a small strange thing that happened,

the message,

Dec 10 14:42:57 siddharth kernel: PM: Image not found (code -16)

at the start was throwing code -22 as an error whenever I tried to hibernate (I use systemctl hibernate from terminal to hibernate my machine) and looking around I found this corresponds to,

EINVAL 22 Invalid argument
and looking around I found this happens when,

int pm_runtime_get_if_in_use(struct device *dev);

        return -EINVAL if 'power.disable_depth' is nonzero; otherwise, if the runtime PM status is RPM_ACTIVE and the runtime PM usage counter is nonzero, increment the counter and return 1; otherwise return 0 without changing the counter

int pm_runtime_get_if_active(struct device *dev, bool ign_usage_count);

        return -EINVAL if 'power.disable_depth' is nonzero; otherwise, if the runtime PM status is RPM_ACTIVE, and either ign_usage_count is true or the device's usage_count is non-zero, increment the counter and return 1; otherwise return 0 without changing the counter

from kernel doc

I tried to look for resolutions of these but could not find any great answers to resolve this. While trying through hit and trial I tried,

 sudo su
[sudo] password for siddharth:                
[root@siddharth siddharth]# echo 259:3 > /sys/power/resume
[root@siddharth siddharth]# 

where 259:3 corresponds to the maj:min of swap partition,

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
zram0       251:0    0  15.3G  0 disk [SWAP]
nvme0n1     259:0    0 476.9G  0 disk 
├─nvme0n1p1 259:1    0   300M  0 part /boot/efi
├─nvme0n1p2 259:2    0 459.8G  0 part /var/tmp
│                                     /var/log
│                                     /var/cache
│                                     /srv
│                                     /root
│                                     /home
│                                     /
└─nvme0n1p3 259:3    0  16.8G  0 part [SWAP]

however this immediately threw,

[ 1070.918150] PM: Image not found (code -16)

in my kernel dmesg, just this one line and since then the error message while hibernating changed from error -22 to error -16 that is device busy. Even after rolling back a snapshot and re updating the system the error code stays at error -16 (EBUSY 16 Device or resource busy)

Rolling back a snapshot works and resolves all issues which indicates something went wrong with this update.

Any attempts at troubleshooting are appreciated.

update logs:
https://termbin.com/34qo

Please note that the following error messages in my update logs,

( 7/31) Applying kernel sysctl settings...
Couldn't write '1' to 'kernel/unprivileged_userns_clone', ignoring: No such file or directory
( 8/31) Creating temporary files...
Failed to write file "/sys/module/pcie_aspm/parameters/policy": Operation not permitted
error: command failed to execute correctly

are normal and expected. I had them quite a few times before while updating as well so they shouldn’t be the cause of concern (hopefully).

sudo grep . /sys/power/*
[sudo] password for siddharth:                
/sys/power/disk:[platform] shutdown reboot suspend test_resume 
/sys/power/image_size:6515462144
/sys/power/mem_sleep:s2idle [deep]
/sys/power/pm_async:1
/sys/power/pm_debug_messages:0
/sys/power/pm_freeze_timeout:20000
/sys/power/pm_print_times:1
/sys/power/pm_test:[none] core processors platform devices freezer
grep: /sys/power/pm_wakeup_irq: No data available
/sys/power/reserved_size:1048576
/sys/power/resume:259:3
/sys/power/resume_offset:0
/sys/power/state:freeze mem disk
grep: /sys/power/suspend_stats: Is a directory
/sys/power/sync_on_suspend:1
/sys/power/wakeup_count:38904

garuda-inxi:

System:
  Kernel: 6.6.5-1-clear arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-clear
    root=UUID=e0a08d20-208f-444a-a6f0-281ffd8a1e1b rw rootflags=subvol=@
    quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests
    initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check
    noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1
    rootfstype=btrfs tsc=reliable rw
    resume=UUID=1824b554-dd46-4e14-a85d-6aafd14791a7 loglevel=3
    acpi_backlight=video nvidia-drm.modeset=1 ibt=off
  Desktop: Hyprland info: waybar vt: 1 dm: SDDM Distro: Garuda Linux
    base: Arch Linux
Machine:
  Type: Convertible System: LENOVO product: 81X1 v: IdeaPad Flex 5 14IIL05
    serial: <superuser required> Chassis: type: 31 v: IdeaPad Flex 5 14IIL05
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0Q55722 WIN
    serial: <superuser required> UEFI: LENOVO v: ECCN41WW date: 06/27/2022
Battery:
  ID-1: BAT0 charge: 29.4 Wh (72.1%) condition: 40.8/52.6 Wh (77.5%)
    power: 23.6 W volts: 12.6 min: 11.5 model: Sunwoda L19D3PD6 type: Li-poly
    serial: <filter> status: charging cycles: 2100
CPU:
  Info: model: Intel Core i7-1065G7 bits: 64 type: MT MCP arch: Ice Lake
    gen: core 10 level: v4 note: check built: 2019-21 process: Intel 10nm
    family: 6 model-id: 0x7E (126) stepping: 5 microcode: 0xC2
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 2 MiB desc: 4x512 KiB L3: 8 MiB
    desc: 1x8 MiB
  Speed (MHz): avg: 1037 high: 1300 min/max: 400/3900 scaling:
    driver: intel_pstate governor: performance cores: 1: 1221 2: 1225 3: 1300
    4: 1300 5: 400 6: 1150 7: 400 8: 1300 bogomips: 23961
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Iris Plus Graphics G7 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-11 process: Intel 10nm built: 2019-21 ports: active: eDP-1
    empty: DP-1, DP-2, DP-3, HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:8a52
    class-ID: 0300
  Device-2: NVIDIA GP108M [GeForce MX330] vendor: Lenovo driver: nvidia
    v: 545.29.06 alternate: nvidiafb,nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2023-10; EOL~2026-12-xx) arch: Pascal code: GP10x
    process: TSMC 16nm built: 2016-2021 pcie: gen: 1 speed: 2.5 GT/s lanes: 4
    link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:1d16
    class-ID: 0302
  Device-3: Bison Integrated Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-2:2 chip-ID: 5986:212a
    class-ID: 0e02
  Display: wayland server: X.org v: 1.21.1.9 with: Xwayland v: 23.2.2
    compositor: Hyprland driver: X: loaded: modesetting,nvidia unloaded: nouveau
    alternate: fbdev,intel,nv,vesa dri: iris gpu: i915 display-ID: 1
  Monitor-1: eDP-1 model: ChiMei InnoLux 0x1406 built: 2019 res: 1920x1080
    hz: 60 dpi: 158 gamma: 1.2 scale: 1.199219 size: 309x173mm (12.17x6.81")
    diag: 354mm (13.9") ratio: 16:9 modes: 1920x1080
  API: Vulkan v: 1.3.269 layers: 4 device: 0 type: integrated-gpu name: Intel
    Iris Plus Graphics (ICL GT2) driver: mesa intel v: 23.2.1-arch1.2
    device-ID: 8086:8a52 surfaces: xcb,xlib,wayland device: 1
    type: discrete-gpu name: NVIDIA GeForce MX330 driver: nvidia v: 545.29.06
    device-ID: 10de:1d16 surfaces: xcb,xlib,wayland device: 2 type: cpu
    name: llvmpipe (LLVM 16.0.6 256 bits) driver: mesa llvmpipe
    v: 23.2.1-arch1.2 (LLVM 16.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Lenovo
    driver: sof-audio-pci-intel-icl
    alternate: snd_hda_intel,snd_sof_pci_intel_icl bus-ID: 00:1f.3
    chip-ID: 8086:34c8 class-ID: 0401
  API: ALSA v: k6.6.5-1-clear status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Ice Lake-LP PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:34f0 class-ID: 0280
  IF: wlp0s20f3 state: up mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:4 chip-ID: 8087:0026
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 5.2
    lmp-v: 11 status: discoverable: no pairing: no class-ID: 6c0000
Drives:
  Local Storage: total: 476.94 GiB used: 24.83 GiB (5.2%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZALQ512HALU-000L2 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 3L1QFXV7 temp: 32.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 459.82 GiB size: 459.82 GiB (100.00%)
    used: 24.83 GiB (5.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 576 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 459.82 GiB size: 459.82 GiB (100.00%)
    used: 24.83 GiB (5.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 459.82 GiB size: 459.82 GiB (100.00%)
    used: 24.83 GiB (5.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 459.82 GiB size: 459.82 GiB (100.00%)
    used: 24.83 GiB (5.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.29 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc max-streams: 8 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 16.82 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
  System Temperatures: cpu: 61.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Processes: 264 Uptime: 28m wakeups: 0 Memory: total: 16 GiB note: est.
  available: 15.29 GiB used: 3.87 GiB (25.3%) Init: systemd v: 255
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
  pm: pacman pkgs: 1338 libs: 400 tools: paru Shell: fish v: 3.6.2
  running-in: foot inxi: 3.3.31
Garuda (2.6.19-2):
  System install date:     2023-11-11
  Last full system update: 2023-12-10
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:            systemd-vconsole-setup.service 
1 Like

Try adding this new systemd-hibernate-resume.service service file to your dracut config:

/etc/dracut.conf.d/resume.conf 
add_dracutmodules+=" resume "
install_items+=" /usr/lib/systemd/system/systemd-hibernate-resume.service "

Then rebuild the initramfs with sudo dracut-rebuild and test if it makes any difference. :crossed_fingers:

Source: [systemd 255rc2] hibernation with dracut / [testing] Repo Forum / Arch Linux Forums

5 Likes

Thankyou bluishHumility! :smile: I had just narrowed down myself to systemd by downgrading stuff in my system and had it added to ignorepkg when your post came in nick of time and saved it. :smile_cat: The solution works :+1: hope dracut’s patch arrives quickly.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.