This is the same issue as described here: https://bbs.archlinux.org/viewtopic.php?id=295528 So far no workable solution is known. This is a regression, but since I haven't been using it for a couple of months, I have no idea on what circumstances it appeared.
Created attachment 896646 [details] emerge --info output, greater than copy-paste limit
Can you describe the problem yourself inline here too, including some steps to reproduce?
I'm starting kdiff3 as such: $ kdiff3 file1.txt file2.txt both files in the current directory (namely, in my home directory). The kdiff3 window opens as usual, but no file content is being displayed. At the same time, a popup window appears with the message: Opening of these files failed: - /home/myusername/file1.txt Opening /home/myusername/file1.txt failed. Unknown error - /home/myusername/file2.txt Opening /home/myusername/file2.txt failed. Unknown error I've deleted all of the kdiff3* files in the /home/myusername/.config directory (including kdiff3rc file), it didn't help.
Version?
$ emerge -pv kdiff3 These are the packages that would be merged, in order: Calculating dependencies... done! Dependency resolution took 15.10 s (backtrack: 0/20). [ebuild R ] kde-misc/kdiff3-1.11.1:5::gentoo USE="handbook -debug" 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0 KiB $ ldd `which kdiff3` linux-vdso.so.1 (0x00007ffed0a6d000) libKF5XmlGui.so.5 => /usr/lib64/libKF5XmlGui.so.5 (0x00007f397a3e4000) libQt5PrintSupport.so.5 => /usr/lib64/libQt5PrintSupport.so.5 (0x00007f397a371000) libKF5ConfigWidgets.so.5 => /usr/lib64/libKF5ConfigWidgets.so.5 (0x00007f397a302000) libKF5KIOCore.so.5 => /usr/lib64/libKF5KIOCore.so.5 (0x00007f397a15f000) libKF5Crash.so.5 => /usr/lib64/libKF5Crash.so.5 (0x00007f397a154000) libKF5I18n.so.5 => /usr/lib64/libKF5I18n.so.5 (0x00007f397a0ff000) libKF5CoreAddons.so.5 => /usr/lib64/libKF5CoreAddons.so.5 (0x00007f397a034000) libKF5ConfigCore.so.5 => /usr/lib64/libKF5ConfigCore.so.5 (0x00007f3979fcb000) libKF5WidgetsAddons.so.5 => /usr/lib64/libKF5WidgetsAddons.so.5 (0x00007f3979e6e000) libQt5Widgets.so.5 => /usr/lib64/libQt5Widgets.so.5 (0x00007f3979828000) libQt5Gui.so.5 => /usr/lib64/libQt5Gui.so.5 (0x00007f3979258000) libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5 (0x00007f3978d12000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libstdc++.so.6 (0x00007f3978a24000) libm.so.6 => /usr/lib64/libm.so.6 (0x00007f3978944000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 (0x00007f397891f000) libc.so.6 => /usr/lib64/libc.so.6 (0x00007f3978739000) libKF5GlobalAccel.so.5 => /usr/lib64/libKF5GlobalAccel.so.5 (0x00007f3978717000) libQt5Network.so.5 => /usr/lib64/libQt5Network.so.5 (0x00007f3978575000) libKF5ItemViews.so.5 => /usr/lib64/libKF5ItemViews.so.5 (0x00007f3978538000) libKF5IconThemes.so.5 => /usr/lib64/libKF5IconThemes.so.5 (0x00007f39784f2000) libKF5GuiAddons.so.5 => /usr/lib64/libKF5GuiAddons.so.5 (0x00007f39784ae000) libKF5ConfigGui.so.5 => /usr/lib64/libKF5ConfigGui.so.5 (0x00007f3978487000) libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5 (0x00007f3978445000) libQt5DBus.so.5 => /usr/lib64/libQt5DBus.so.5 (0x00007f39783b6000) libKF5Codecs.so.5 => /usr/lib64/libKF5Codecs.so.5 (0x00007f3978379000) libKF5AuthCore.so.5 => /usr/lib64/libKF5AuthCore.so.5 (0x00007f3978364000) /lib64/ld-linux-x86-64.so.2 (0x00007f397a6d5000) libKF5Service.so.5 => /usr/lib64/libKF5Service.so.5 (0x00007f39782c2000) libacl.so.1 => /usr/lib64/libacl.so.1 (0x00007f39782b7000) libmount.so.1 => /usr/lib64/libmount.so.1 (0x00007f397824b000) libQt5X11Extras.so.5 => /usr/lib64/libQt5X11Extras.so.5 (0x00007f3978242000) libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f3978104000) libudev.so.1 => /usr/lib64/libudev.so.1 (0x00007f39780c3000) libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f3978050000) libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f3978016000) libz.so.1 => /usr/lib64/libz.so.1 (0x00007f3977ffa000) libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f3977ecc000) libdouble-conversion.so.3 => /usr/lib64/libdouble-conversion.so.3 (0x00007f3977eb5000) libicui18n.so.74 => /usr/lib64/libicui18n.so.74 (0x00007f3977ba1000) libicuuc.so.74 => /usr/lib64/libicuuc.so.74 (0x00007f39779b9000) libpcre2-16.so.0 => /usr/lib64/libpcre2-16.so.0 (0x00007f3977927000) libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f39777de000) libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f397778d000) libproxy.so.1 => /usr/lib64/libproxy.so.1 (0x00007f3977788000) libssl.so.3 => /usr/lib64/libssl.so.3 (0x00007f39776f0000) libcrypto.so.3 => /usr/lib64/libcrypto.so.3 (0x00007f397731f000) libQt5Svg.so.5 => /usr/lib64/libQt5Svg.so.5 (0x00007f39772c5000) libKF5Archive.so.5 => /usr/lib64/libKF5Archive.so.5 (0x00007f3977287000) libQt5WaylandClient.so.5 => /usr/lib64/libQt5WaylandClient.so.5 (0x00007f3977148000) libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007f3977139000) libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f39770ec000) libKF5DBusAddons.so.5 => /usr/lib64/libKF5DBusAddons.so.5 (0x00007f39770cd000) libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x00007f3977074000) libcryptsetup.so.12 => /usr/lib64/libcryptsetup.so.12 (0x00007f3976ff5000) libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f3976fca000) libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007f3976fbe000) libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007f3976f42000) libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007f3976f0f000) libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f3976e48000) libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f3976e23000) libicudata.so.74 => /usr/lib64/libicudata.so.74 (0x00007f39750c3000) libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0 (0x00007f3975023000) libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f3974f5f000) libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f3974f30000) libcom_err.so.2 => /usr/lib64/libcom_err.so.2 (0x00007f3974f2a000) libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f3974f1c000) libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007f3974f15000) libresolv.so.2 => /usr/lib64/libresolv.so.2 (0x00007f3974f02000) libpxbackend-1.0.so => /usr/lib64/libproxy/libpxbackend-1.0.so (0x00007f3974ef7000) libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f3974e9b000) libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f3974e88000) liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f3974e59000) libzstd.so.1 => /usr/lib64/libzstd.so.1 (0x00007f3974d91000) libwayland-cursor.so.0 => /usr/lib64/libwayland-cursor.so.0 (0x00007f3974d88000) libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f3974d3d000) libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007f3974cf6000) libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007f3974cea000) libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007f3974bed000) libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f3974be3000) libdevmapper.so.1.02 => /usr/lib64/libdevmapper.so.1.02 (0x00007f3974b89000) libjson-c.so.5 => /usr/lib64/libjson-c.so.5 (0x00007f3974b76000) libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f3974b71000) libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f3974b67000) libbrotlidec.so.1 => /usr/lib64/libbrotlidec.so.1 (0x00007f3974b59000) libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f3974975000) libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f397494c000) libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007f397482f000) liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007f3974808000) libbrotlicommon.so.1 => /usr/lib64/libbrotlicommon.so.1 (0x00007f39747e5000) libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f39747de000) libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f39747b5000) $
It must die at https://invent.kde.org/sdk/kdiff3/-/blob/master/src/fileaccess.cpp#L930 (two points in that function where it could happen).
Does it fail for any files? What are file1.txt and file2.txt? If I do, say, `touch a b` in /tmp (on tmpfs), I get: ``` $ kdiff3 a b org.kde.kdiff3: Loading A: "/tmp/a" org.kde.kdiff3: Loading B: "/tmp/b" org.kde.kdiff3: Diff: A <-> B org.kde.kdiff3: Linediff: A <-> B org.kde.kdiff3: Enter: calcDiff3LineListUsingAB org.kde.kdiff3: Leave: calcDiff3LineListUsingAB ``` with a window opened and a message saying "Files A and B are binary equal."
I get a crash if I echo "hi" > b. Looking...
These are just regular text files. I've also tried to compare two C codes and two MLIR codes, with the same effect. Then I masked this version (1.11.1) and downgraded kdiff3 to 1.10.7 and this version just works.
(In reply to Paul Osmialowski from comment #9) > These are just regular text files. I've also tried to compare two C codes > and two MLIR codes, with the same effect. Then I masked this version > (1.11.1) and downgraded kdiff3 to 1.10.7 and this version just works. Ah, thanks, that's useful information. I'll compare the two now. The issue I mention above is https://bugs.kde.org/show_bug.cgi?id=487338.
(In reply to Paul Osmialowski from comment #9) > These are just regular text files. I've also tried to compare two C codes > and two MLIR codes, with the same effect. Then I masked this version > (1.11.1) and downgraded kdiff3 to 1.10.7 and this version just works. (A minimal reproducing example, along with `stat` output for the two files would still be useful.)
(In reply to Paul Osmialowski from comment #9) > These are just regular text files. I've also tried to compare two C codes > and two MLIR codes, with the same effect. Then I masked this version > (1.11.1) and downgraded kdiff3 to 1.10.7 and this version just works. diff is https://invent.kde.org/sdk/kdiff3/-/compare/1.10.7...1.11.1?from_project_id=423&straight=false (800 commits!)