Bug 499741

Summary: KBackup stuck reading pipe files
Product: [Applications] kbackup Reporter: paul s. romanchenko <kde>
Component: generalAssignee: Martin Koller <martin>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: NOR    
Version First Reported In: 24.12.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description paul s. romanchenko 2025-02-10 08:54:07 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY


STEPS TO REPRODUCE
1. Start kbackup
2. Choose home directory to backup and choose destination
3. Start backup process

OBSERVED RESULT
KBackup stuck at pipe files at .zoom, .cache, .steam and other directories.

EXPECTED RESULT
Backup successfully created

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: 4:6.2.5-1
KDE Plasma Version: 4:6.2.5-1
KDE Frameworks Version: 24.12.0-1
Qt Version: 6.7.2+dfsg-5

ADDITIONAL INFORMATION
Comment 1 Martin Koller 2025-02-10 11:30:11 UTC
I can not reproduce it.
Also, kbacup code contains an explicit check to only open files if their size is reported being > 0
A pipe file is reported as size == 0, so there should not be any way kbackup even opens this file.

Can you share the output of "ls -l" in a directory with a pipe file on your system which kbackup stuck on?

E.g. on my system I have
/home/koller/.zoom/data:
total 108
prw------- 1 koller users     0 25. Jän 2024  com.zoom.ipc.additional_assistantapp__req
...
Comment 2 paul s. romanchenko 2025-02-10 18:19:53 UTC
Zoom:
$ strace -f -p 147432
strace: Symbol `_UPT_accessors' has different size in shared object, consider re-linking
strace: Process 147432 attached with 3 threads
[pid 147434] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 147433] ppoll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=9, events=POLLIN}, {fd=26, events=POLLIN}, {fd=27, events=POLLIN}, {fd=44, events=POLLIN}], 6, NULL, NULL, 8 <unfinished ...>
[pid 147432] openat(AT_FDCWD, "/home/paul/.zoom/data/com.zoom.ipc.additional_assistantapp__res", O_RDONLY|O_CLOEXEC <unfinished ...>
[pid 147434] <... restart_syscall resumed>) = 1
[pid 147434] recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="U\2\fL\353\247f\10\3\4\4\0\0\0\0\0\0\0\0\4\4\4\4\4\0\0\3\37%\2\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
[pid 147434] write(3, "\1\0\0\0\0\0\0\0", 8) = 8
[pid 147434] poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}])
[pid 147434] recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="U\2\fL\"\252f\10\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\37%\3\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
^C....

$ file /home/paul/.zoom/data/com.zoom.ipc.additional_assistantapp__res
/home/paul/.zoom/data/com.zoom.ipc.additional_assistantapp__res: fifo (named pipe)

$ ls -l /home/paul/.zoom/data/com.zoom.ipc.additional_assistantapp__res
prw------- 1 paul paul 0 сен 28  2021 /home/paul/.zoom/data/com.zoom.ipc.additional_assistantapp__res


Steam:
$ strace -f -p 147432
strace: Symbol `_UPT_accessors' has different size in shared object, consider re-linking
strace: Process 147432 attached with 3 threads
[pid 147434] restart_syscall(<... resuming interrupted read ...> <unfinished ...>
[pid 147433] ppoll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=9, events=POLLIN}, {fd=26, events=POLLIN}, {fd=27, events=POLLIN}, {fd=44, events=POLLIN}], 6, NULL, NULL, 8 <unfinished ...>
[pid 147432] openat(AT_FDCWD, "/home/paul/.steam/steam.pipe", O_RDONLY|O_CLOEXEC <unfinished ...>
[pid 147434] <... restart_syscall resumed>) = 1

$ file /home/paul/.steam/steam.pipe
/home/paul/.steam/steam.pipe: fifo (named pipe)

$ ls -l /home/paul/.steam/
итого 20
lrwxrwxrwx 1 paul paul    23 фев  8 17:11 bin -> /home/paul/.steam/bin32
lrwxrwxrwx 1 paul paul    41 фев  8 17:11 bin32 -> /home/paul/.local/share/Steam/ubuntu12_32
lrwxrwxrwx 1 paul paul    41 фев  8 17:11 bin64 -> /home/paul/.local/share/Steam/ubuntu12_64
lrwxrwxrwx 1 paul paul    29 фев  8 17:11 root -> /home/paul/.local/share/Steam
lrwxrwxrwx 1 paul paul    37 фев  8 17:11 sdk32 -> /home/paul/.local/share/Steam/linux32
lrwxrwxrwx 1 paul paul    37 фев  8 17:11 sdk64 -> /home/paul/.local/share/Steam/linux64
lrwxrwxrwx 1 paul paul    29 фев  8 17:11 steam -> /home/paul/.local/share/Steam
-rwxrwxr-x 1 paul paul 10471 фев  9 15:53 registry.vdf
-rwxr-xr-x 1 paul paul     0 июл 27  2024 registry.vdf.1081863334.tmp
-rw-r--r-- 1 paul paul     6 фев  8 17:11 steam.pid
prw------- 1 paul paul     0 фев  9 11:22 steam.pipe
-r-------- 1 paul paul    16 фев  8 17:11 steam.token
Comment 3 Martin Koller 2025-02-11 10:29:18 UTC
Hmmm ... very strange. When I run strace kbackup, I don't see an openat() call for a pipe, only stat() or statx().
What can be the difference here?
What filesystem is your /home on?
What distribution/kernel version are you using?
Comment 4 paul s. romanchenko 2025-02-11 16:09:11 UTC
(In reply to Martin Koller from comment #3)
> Hmmm ... very strange. When I run strace kbackup, I don't see an openat()
> call for a pipe, only stat() or statx().
> What can be the difference here?
> What filesystem is your /home on?
> What distribution/kernel version are you using?

Regular ext4. 
It's Debian/unstable.

$ mount|grep home
/dev/sda1 on /home/paul/data type ext4 (rw,noatime)

$ uname -a
Linux tati-pc 6.11.2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.2-1 (2024-10-05) x86_64 GNU/Linux

$ apt policy kbackup
kbackup:
  Установлен: 24.12.0-1
  Кандидат:   24.12.0-1
  Таблица версий:
 *** 24.12.0-1 500
        500 http://deb.debian.org/debian testing/main amd64 Packages
        500 http://deb.debian.org/debian unstable/main amd64 Packages
        100 /var/lib/dpkg/status
     22.12.3-1 500
        500 http://deb.debian.org/debian stable/main amd64 Packages
Comment 5 paul s. romanchenko 2025-02-12 11:44:55 UTC
Ah, forgot the actual /home
/dev/sdd2 on / type ext4 (rw,relatime,errors=remount-ro)
No surprises here.
Comment 6 Martin Koller 2025-02-12 12:34:41 UTC
Never used Debian before, so I'm not familiar with their releases. But reading online I find
"Unstable in Debian can be considered something that is in constant development, so it is Rolling Development and not Rolling Release. In Debian Unstable there is no promise that it will be ready for use. "

So I ask myself: can this be the reason why something is broken?

Have you maybe another system based on any stable distribution, where you could check if this problem exists there, too?

I'm using openSuse Leap 15.5 (older kbackup 22.12.3) or Tumbleweed (20250209 with kbackup 24.12.2) and can not see this problem.
Comment 7 Bug Janitor Service 2025-02-27 03:47:24 UTC
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Bug Janitor Service 2025-03-14 03:47:10 UTC
🐛🧹 This bug has been in NEEDSINFO status with no change for at least 30 days. Closing as RESOLVED WORKSFORME.