Package: directvnc Version: 0.7.8-1 Severity: normal My remote connection died hard, and rebooted. When it came back up, I discovered my directvnc display was still stuck on the last image prior to the connection dying. This display didn't time out and die. strace revealed an endless non-throttled loop of:
[pid 2643] read(4, 0xaaaad972c430, 8192) = -1 EAGAIN (Resource temporarily unavailable) [pid 2643] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000000}, NULL) = 0 [pid 2643] read(4, 0xaaaad972c430, 8192) = -1 EAGAIN (Resource temporarily unavailable) [pid 2643] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000000}, NULL) = 0 [pid 2643] read(4, 0xaaaad972c430, 8192) = -1 EAGAIN (Resource temporarily unavailable) [pid 2643] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000000}, NULL) = 0 [pid 2643] read(4, 0xaaaad972c430, 8192) = -1 EAGAIN (Resource temporarily unavailable) [pid 2643] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000000}, NULL) = 0 [pid 2643] read(4, 0xaaaad972c430, 8192) = -1 EAGAIN (Resource temporarily unavailable) [pid 2643] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000000}, NULL) = 0 [pid 2643] read(4, 0xaaaad972c430, 8192) = -1 EAGAIN (Resource temporarily unavailable) [pid 2643] clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=10000000}, NULL) = 0 lsof shows this: : 44306,6; sudo lsof -p 2643 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME directvnc 2643 root cwd DIR 0,25 4096 2 / (192.168.1.3:/piroot) directvnc 2643 root rtd DIR 0,25 4096 2 / (192.168.1.3:/piroot) directvnc 2643 root txt REG 0,25 52192 28553 /usr/bin/directvnc (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 26640 28498 /usr/lib/aarch64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_linux_input.so (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 14352 28495 /usr/lib/aarch64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_input_hub.so (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 51416 28517 /usr/lib/aarch64-linux-gnu/directfb-1.7-7/wm/libdirectfbwm_default.so (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 14352 28497 /usr/lib/aarch64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_keyboard.so (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 14376 28502 /usr/lib/aarch64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_ps2mouse.so (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 59912 28516 /usr/lib/aarch64-linux-gnu/directfb-1.7-7/systems/libdirectfb_fbdev.so (192.168.1.3:/piroot) directvnc 2643 root mem CHR 29,0 531 /dev/fb0 directvnc 2643 root mem REG 0,25 591960 40994 /usr/lib/aarch64-linux-gnu/libm.so.6 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 133448 1915 /usr/lib/aarch64-linux-gnu/libgcc_s.so.1 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 2174296 1926 /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 67528 40993 /usr/lib/aarch64-linux-gnu/libdl.so.2 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 63536 28520 /usr/lib/aarch64-linux-gnu/libfusion-1.7.so.7.0.0 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 158184 28518 /usr/lib/aarch64-linux-gnu/libdirect-1.7.so.7.0.0 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 1651408 40991 /usr/lib/aarch64-linux-gnu/libc.so.6 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 133520 6848 /usr/lib/aarch64-linux-gnu/libz.so.1.2.13 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 395264 28542 /usr/lib/aarch64-linux-gnu/libjpeg.so.62.3.0 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 67528 41002 /usr/lib/aarch64-linux-gnu/libpthread.so.0 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 1297056 28519 /usr/lib/aarch64-linux-gnu/libdirectfb-1.7.so.7.0.0 (192.168.1.3:/piroot) directvnc 2643 root mem REG 0,25 202912 40988 /usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1 (192.168.1.3:/piroot) directvnc 2643 root 0r CHR 1,3 0t0 4 /dev/null directvnc 2643 root 1u unix 0x00000000947241ed 0t0 19701 type=STREAM (CONNECTED) directvnc 2643 root 2u unix 0x00000000947241ed 0t0 19701 type=STREAM (CONNECTED) directvnc 2643 root 3u unix 0x00000000947241ed 0t0 19701 type=STREAM (CONNECTED) directvnc 2643 root 4u IPv4 34005 0t0 TCP pi.rather.puzzling.org:43508->met.rather.puzzling.org:5900 (ESTABLISHED) directvnc 2643 root 5u CHR 29,0 0t0 531 /dev/fb0 directvnc 2643 root 6r CHR 4,0 0t0 13 /dev/tty0 directvnc 2643 root 7u CHR 4,7 0t0 26 /dev/tty7 directvnc 2643 root 8u CHR 13,64 0t0 527 /dev/input/event0 directvnc 2643 root 9r FIFO 0,12 0t0 34013 pipe directvnc 2643 root 10w FIFO 0,12 0t0 34013 pipe directvnc 2643 root 11r FIFO 0,12 0t0 34014 pipe directvnc 2643 root 12w FIFO 0,12 0t0 34014 pipe directvnc 2643 root 13u unix 0x00000000f8226a4d 0t0 34015 @/org/kernel/udev/monitor type=DGRAM (UNCONNECTED) directvnc 2643 root 14u CHR 4,7 0t0 26 /dev/tty7 directvnc 2643 root 15u CHR 10,1 0t0 97 /dev/psaux directvnc 2643 root 16u CHR 13,63 0t0 96 /dev/input/mice met, the remote connection, has been up for 31 minutes at this time, so it really seems like something is not tearing down the connection. There is a standard iptables firewall between pi (client) and met (server): -A veth135i0-IN -s 192.168.1.28/32 -p tcp -m tcp --dport 5900 -j ACCEPT Given TCP can remain established for days without packets being exchanged, it is my inclination to think that directvnc is at fault for not establishing the valilidity of the connection before attempting to read from it? -- System Information: Debian Release: 12.7 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable') Architecture: arm64 (aarch64) Kernel: Linux 6.1.0-25-arm64 (SMP w/4 CPU threads) Kernel taint flags: TAINT_CRAP Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages directvnc depends on: ii libc6 2.36-9+deb12u8 ii libdirectfb-1.7-7 1.7.7-11 ii libjpeg62-turbo 1:2.1.5-2 ii zlib1g 1:1.2.13.dfsg-1 Versions of packages directvnc recommends: ii x11proto-core-dev 2022.1-1 ii x11proto-dev [x11proto-core-dev] 2022.1-1 directvnc suggests no packages. -- no debconf information