You are not logged in.

#1 2024-05-06 09:53:32

chrisd
Member
Registered: 2016-07-02
Posts: 19

kdiff3 no longer works for me

Hello All,

I use kdiff3 quite frequently, usually in combination with git (git difftool -t kdiff3). This has stopped working
for me recently, presumably after an archlinux update. It is not just in combination with git. Also attempting
to diff two random text files doing kdiff3 FILE1 FILE2 fails. It opens, does not display the contents for the
file but instead shows an error window saying 'Opening of these files failed: <name of file> Opening
<name of file> failed. Unknown error'.

Anyone any idea?

Kind Regards,
Chris

Offline

#2 2024-05-06 11:20:53

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,962

Re: kdiff3 no longer works for me

Worksforme™

Your system is up to date/no partial updates? Particularly kio is going to be relevant. Do you see any other message from a terminal run?

Offline

#3 2024-05-07 07:52:48

chrisd
Member
Registered: 2016-07-02
Posts: 19

Re: kdiff3 no longer works for me

Hello V1del,

Yes, I update the system quite regularly (pacman -Syu). Just did an update to check and I still have the problem.
kio is at 6.1.0. Terminal does not say anything particular.

[chrisd@chrispc ~]$ kdiff3 bla TODO
org.kde.kdiff3: Loading A:  "/home/chrisd/bla"
org.kde.kdiff3: Loading B:  "/home/chrisd/TODO"

I also tried on another PC and there kdiff3 works, so it does seem to be something particular about this
machine.

O well, it is not that important, I can also just kompare.

Kind Regards,
Chris

Offline

#4 2024-05-07 08:29:42

seth
Member
Registered: 2012-09-03
Posts: 52,567

Re: kdiff3 no longer works for me

error window saying 'Opening of these files failed: <name of file> Opening <name of file> failed. Unknown error'.

strace -o /tmp/kdiff.strace -f -tt kdiff3 bla TODO

Then check/upload the strace.

Online

#5 2024-05-07 12:20:10

chrisd
Member
Registered: 2016-07-02
Posts: 19

Re: kdiff3 no longer works for me

Hello Seth,

I uploaded the strace: http://0x0.st/X8K8.txt .

Note that after the error appeared I pressed Ctrl-C to end kdiff3. This is also visible at the
end of the strace.

Kind Regards,
Chris

Offline

#6 2024-05-07 14:15:23

seth
Member
Registered: 2012-09-03
Posts: 52,567

Re: kdiff3 no longer works for me

23386 14:11:21.012700 access("/home/chrisd/bla", F_OK) = 0
23386 14:11:21.012791 statx(AT_FDCWD, "/home/chrisd/bla", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=5, ...}) = 0
23386 14:11:21.012858 access("/home/chrisd/bla", W_OK) = 0
23386 14:11:21.012881 access("/home/chrisd/bla", R_OK) = 0
23386 14:11:21.012905 access("/home/chrisd/bla", X_OK) = -1 EACCES (Permission denied)
23386 14:11:21.013011 access("/home/chrisd/TODO", F_OK) = 0
23386 14:11:21.013092 statx(AT_FDCWD, "/home/chrisd/TODO", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=32932, ...}) = 0
23386 14:11:21.013148 access("/home/chrisd/TODO", W_OK) = 0
23386 14:11:21.013170 access("/home/chrisd/TODO", R_OK) = 0
23386 14:11:21.013192 access("/home/chrisd/TODO", X_OK) = -1 EACCES (Permission denied)
23386 14:11:21.143653 access("/home/chrisd/bla", F_OK) = 0
23386 14:11:21.143825 statx(AT_FDCWD, "/home/chrisd/bla", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=5, ...}) = 0
23386 14:11:21.143944 access("/home/chrisd/bla", W_OK) = 0
23386 14:11:21.143978 access("/home/chrisd/bla", R_OK) = 0
23386 14:11:21.144026 access("/home/chrisd/bla", X_OK) = -1 EACCES (Permission denied)
23386 14:11:21.144235 access("/home/chrisd/TODO", F_OK) = 0
23386 14:11:21.144424 statx(AT_FDCWD, "/home/chrisd/TODO", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=32932, ...}) = 0
23386 14:11:21.144513 access("/home/chrisd/TODO", W_OK) = 0
23386 14:11:21.144540 access("/home/chrisd/TODO", R_OK) = 0
23386 14:11:21.144564 access("/home/chrisd/TODO", X_OK) = -1 EACCES (Permission denied)
23386 14:11:21.196014 openat(AT_FDCWD, "/home/chrisd/bla", O_RDONLY|O_CLOEXEC) = 17
23386 14:11:21.210404 access("/home/chrisd/bla", F_OK) = 0
23386 14:11:21.210505 statx(AT_FDCWD, "/home/chrisd/bla", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=5, ...}) = 0
23386 14:11:21.210593 access("/home/chrisd/bla", W_OK) = 0
23386 14:11:21.210629 access("/home/chrisd/bla", R_OK) = 0
23386 14:11:21.210690 access("/home/chrisd/bla", X_OK) = -1 EACCES (Permission denied)
23386 14:11:21.210726 openat(AT_FDCWD, "/home/chrisd/bla", O_RDONLY|O_CLOEXEC) = 17
23386 14:11:21.219909 openat(AT_FDCWD, "/home/chrisd/TODO", O_RDONLY|O_CLOEXEC) = 17
23386 14:11:21.220225 access("/home/chrisd/TODO", F_OK <unfinished ...>
23386 14:11:21.220325 statx(AT_FDCWD, "/home/chrisd/TODO", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=32932, ...}) = 0
23386 14:11:21.220386 access("/home/chrisd/TODO", W_OK) = 0
23386 14:11:21.220411 access("/home/chrisd/TODO", R_OK) = 0
23386 14:11:21.220434 access("/home/chrisd/TODO", X_OK) = -1 EACCES (Permission denied)
23386 14:11:21.220464 openat(AT_FDCWD, "/home/chrisd/TODO", O_RDONLY|O_CLOEXEC) = 17

It tries to access the files r,w and x but ultimately actually opens them and also

23386 14:11:21.196129 read(17, "ziep\n", 16384) = 5
23386 14:11:21.209843 read(17, "", 16379) = 0
23386 14:11:21.210879 read(17, "ziep\n", 16384) = 5
23386 14:11:21.210905 read(17, "", 16379) = 0
23386 14:11:21.220010 read(17, "\n- teams aanzetten\n- schedule me"..., 16384) = 16384
23386 14:11:21.220565 read(17, "\n- teams aanzetten\n- schedule me"..., 32932) = 32932

reads them.

Going by

23386 14:11:21.220386 access("/home/chrisd/TODO", W_OK) = 0
23386 14:11:21.220411 access("/home/chrisd/TODO", R_OK) = 0
23386 14:11:21.220434 access("/home/chrisd/TODO", X_OK) = -1 EACCES (Permission denied)
23386 14:11:21.220464 openat(AT_FDCWD, "/home/chrisd/TODO", O_RDONLY|O_CLOEXEC) = 17
23386 14:11:21.220491 statx(17, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=32932, ...}) = 0
23386 14:11:21.220536 statx(17, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=32932, ...}) = 0
23386 14:11:21.220565 read(17, "\n- teams aanzetten\n- schedule me"..., 32932) = 32932
23386 14:11:21.220601 close(17)         = 0
23386 14:11:21.222405 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
23386 14:11:21.222485 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
23386 14:11:21.222540 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
23386 14:11:21.222950 poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
23386 14:11:21.222991 writev(6, [{iov_base="\27\0\2\0\333\1\0\0", iov_len=8}], 1) = 8
23386 14:11:21.223025 futex(0x7fff4b8bc088, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
23388 14:11:21.226282 <... poll resumed>) = 1 ([{fd=6, revents=POLLIN}])
23388 14:11:21.226351 recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0f\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
23388 14:11:21.226447 futex(0x7fff4b8bc088, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
23386 14:11:21.226504 <... futex resumed>) = 0
23388 14:11:21.226518 <... futex resumed>) = 1
23386 14:11:21.226541 futex(0x5bd7dba44f78, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
23388 14:11:21.226713 futex(0x5bd7dba44f78, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
23386 14:11:21.226729 <... futex resumed>) = 0
23388 14:11:21.226736 <... futex resumed>) = 1
23386 14:11:21.226743 futex(0x5bd7dba44f78, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
23388 14:11:21.226750 poll([{fd=6, events=POLLIN}], 1, -1 <unfinished ...>
23386 14:11:21.226762 <... futex resumed>) = 0
23386 14:11:21.226783 poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
23386 14:11:21.226813 writev(6, [{iov_base="\27\0\2\0\333\1\0\0", iov_len=8}], 1) = 8
23386 14:11:21.226843 futex(0x7fff4b8bbef8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
23388 14:11:21.229136 <... poll resumed>) = 1 ([{fd=6, revents=POLLIN}])
23388 14:11:21.229162 recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0g\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
23388 14:11:21.229216 futex(0x7fff4b8bbef8, FUTEX_WAKE_PRIVATE, 1) = 1
23386 14:11:21.229238 <... futex resumed>) = 0
23388 14:11:21.229248 poll([{fd=6, events=POLLIN}], 1, -1 <unfinished ...>
23386 14:11:21.229260 futex(0x5bd7dba44f78, FUTEX_WAKE_PRIVATE, 1) = 0
23386 14:11:21.229334 poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
23386 14:11:21.229368 writev(6, [{iov_base="\27\0\2\0\333\1\0\0", iov_len=8}], 1) = 8
23386 14:11:21.229426 futex(0x7fff4b8bbef8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY <unfinished ...>
23388 14:11:21.229435 <... poll resumed>) = 1 ([{fd=6, revents=POLLIN}])
23388 14:11:21.229454 recvmsg(6, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0h\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
23388 14:11:21.229495 futex(0x7fff4b8bbef8, FUTEX_WAKE_PRIVATE, 1) = 1
23386 14:11:21.229512 <... futex resumed>) = 0
23388 14:11:21.229519 poll([{fd=6, events=POLLIN}], 1, -1 <unfinished ...>
23386 14:11:21.229529 futex(0x5bd7dba44f78, FUTEX_WAKE_PRIVATE, 1) = 0
23386 14:11:21.229711 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
23386 14:11:21.229748 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
23386 14:11:21.229775 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
23386 14:11:21.229812 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
23386 14:11:21.231934 statx(AT_FDCWD, "/usr/share/icons/breeze", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fff4b8bb620) = -1 ENOENT (No such file or directory)
23386 14:11:21.231982 statx(AT_FDCWD, "/usr/share/icons/breeze/index.theme", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fff4b8bb5c0) = -1 ENOENT (No such file or directory)
23386 14:11:21.233437 statx(AT_FDCWD, "/usr/share/icons/breeze", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fff4b8bb330) = -1 ENOENT (No such file or directory)
23386 14:11:21.233490 statx(AT_FDCWD, "/usr/share/icons/breeze/index.theme", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fff4b8bb2d0) = -1 ENOENT (No such file or directory)
23386 14:11:21.233550 statx(AT_FDCWD, "/usr/share/icons/breeze", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fff4b8bb910) = -1 ENOENT (No such file or directory)
23386 14:11:21.233584 statx(AT_FDCWD, "/usr/share/icons/breeze/index.theme", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fff4b8bb8b0) = -1 ENOENT (No such file or directory)
23386 14:11:21.233623 access("/usr/share/pixmaps/dialog-error.png", F_OK) = -1 ENOENT (No such file or directory)
23386 14:11:21.233663 access("/usr/share/pixmaps/dialog-error.xpm", F_OK) = -1 ENOENT (No such file or directory)
23386 14:11:21.233689 access("/usr/share/pixmaps/dialog-error.svg", F_OK) = -1 ENOENT (No such file or directory)

and assuming the tail of that is to show you the error dialog, this seems a complete false positive.

The file contents seem to be vastly different, have you tried comparing two files where one is actually just a slight deviation of the other?

Online

#7 2024-05-08 09:41:40

chrisd
Member
Registered: 2016-07-02
Posts: 19

Re: kdiff3 no longer works for me

Hello Seth,

Yes, usually I use kdiff3 on files that only differ in a few places. But I just retried that again. It also
displays the error and not the files in that case.

The whole thing sounds like it reads the data correctly but for some reason, incorrectly, decides
that it failed reading the data and therefore displays the error instead of the content of the files.

Kind Regards,
Chris

Offline

#8 2024-05-08 12:54:36

seth
Member
Registered: 2012-09-03
Posts: 52,567

Re: kdiff3 no longer works for me

Except

V1del wrote:

Worksforme™

so there must be some significant difference.

Wild guess

localectl
locale
locale -a

Also

23386 14:11:21.018713 access("/home/chrisd/.config/kdiff3rc", F_OK) = 0

not sure what a diff needs a config for, but try to move that away…

Online

Board footer

Powered by FluxBB