Spurious EINTR

slink

New Member
Sep 10, 2026
1
0
1
Hi,

This might be related to https://forum.proxmox.com/threads/error-interrupted-by-signal.166814/

Ever since we started running LXCs on proxmox (Mid 2024), we observed spurious EINTRs for system calls which otherwise would not be interrupted unless a signal was delivered, like, for example, read() on a TCP socket. As we use LXCs for integration testing of vinyl cache, we simply added the trivial EINTR handling code there.

Now this symptom is popping up in other contexts and causing issues with, for example, check_mk checks terminating because they do not handle EINTR with a retry.

By accident I noticed that one component used by check_mk, rrdcached, as a side effect shows quite nicely how regular this happens:

Prep: edited rrdcached rc-script and added -V LOG_INFO

Code:
# tail -f /omd/sites/XXX/var/log/rrdcached.log
2026-09-10 15:34:17 [6] starting up
2026-09-10 15:34:17 [6] checking for journal files
...
2026-09-10 15:34:18 [6] listening for connections
2026-09-10 15:34:32 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:34:40 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:36:34 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:36:40 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:40:31 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:40:39 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:42:30 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:42:35 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:44:31 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:44:35 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:46:31 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:46:36 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:48:30 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
2026-09-10 15:48:36 [5] signal_receiver: Signal wait failed. (May be OK if occurring while attaching/attached to strace, gdb, etc)
errno: 4
...

I also started strace -p 3184810 -e 'trace=!all' on the process id of rrdcached to make sure it does not actually receive any signals, and it does not, strace does not output anything (after the attachment message).

So my question is: What might be causing these spurious EINTRs and what could possible be done about them?


Excerpt from pvereport:

Code:
# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-6.8.12-20-pve root=ZFS=/ROOT/pve-1 ro console=tty0 console=ttyS1,115200 root=ZFS=rpool/ROOT/pve-1 boot=zfs

# pveversion --verbose
proxmox-ve: 8.4.0 (running kernel: 6.8.12-20-pve)
pve-manager: 8.4.18 (running version: 8.4.18/40eb4ac16f053344)
proxmox-kernel-helper: 8.1.4
proxmox-kernel-6.8.12-20-pve-signed: 6.8.12-20
proxmox-kernel-6.8: 6.8.12-20
proxmox-kernel-6.8.12-16-pve-signed: 6.8.12-16
proxmox-kernel-6.5.13-6-pve-signed: 6.5.13-6
proxmox-kernel-6.5: 6.5.13-6
proxmox-kernel-6.5.11-8-pve-signed: 6.5.11-8
ceph-fuse: 17.2.7-pve2
corosync: 3.1.10-pve2~bpo12+1
criu: 3.17.1-2+deb12u2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.30-pve2
libproxmox-acme-perl: 1.6.0
libproxmox-backup-qemu0: 1.5.2
libproxmox-rs-perl: 0.3.5
libpve-access-control: 8.2.2
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.1.3
libpve-cluster-perl: 8.1.3
libpve-common-perl: 8.3.7
libpve-guest-common-perl: 5.2.2
libpve-http-server-perl: 5.2.2
libpve-network-perl: 0.11.3
libpve-rs-perl: 0.9.4
libpve-storage-perl: 8.3.7
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-2
lxcfs: 6.0.0-pve2
novnc-pve: 1.6.0-2
proxmox-backup-client: 3.4.7-1
proxmox-backup-file-restore: 3.4.7-1
proxmox-backup-restore-image: 0.7.0
proxmox-firewall: 0.7.1
proxmox-kernel-helper: 8.1.4
proxmox-mail-forward: 0.3.3
proxmox-mini-journalreader: 1.5
proxmox-offline-mirror-helper: 0.6.8
proxmox-widget-toolkit: 4.3.17
pve-cluster: 8.1.3
pve-container: 5.3.3
pve-docs: 8.4.2
pve-edk2-firmware: 4.2025.05-1~bpo12+1
pve-esxi-import-tools: 0.7.4
pve-firewall: 5.1.2
pve-firmware: 3.16-3
pve-ha-manager: 4.0.7
pve-i18n: 3.4.5
pve-qemu-kvm: 9.2.0-7
pve-xtermjs: 5.5.0-2
qemu-server: 8.4.6
smartmontools: 7.3-pve1
spiceterm: 3.3.1
swtpm: 0.8.0+pve1
vncterm: 1.8.1
zfsutils-linux: 2.2.9-pve1



# lscpu
Architecture:                            x86_64
CPU op-mode(s):                          32-bit, 64-bit
Address sizes:                           48 bits physical, 48 bits virtual
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               AuthenticAMD
BIOS Vendor ID:                          AMD
Model name:                              AMD EPYC 72F3 8-Core Processor
BIOS Model name:                         AMD EPYC 72F3 8-Core Processor                   CPU @ 3.7GHz
BIOS CPU family:                         107
CPU family:                              25
Model:                                   1
Thread(s) per core:                      2
Core(s) per socket:                      8
Socket(s):                               1
Stepping:                                1
Frequency boost:                         enabled


Storage is ZFS on SSDs, mirrored