When two directories are being compared and the "Binary comparison" option is on, and both directories contain fifo or socket files with identical names, kdiff3 freezes, apparently trying to read from them. this is confirmed by tracing kdiff3 with strace. The last line output by strace before kdiff3 freezes is an open() call on the fifo in question. It seems there is no setting to make kdiff3 ignore fifos and sockets.
The directory comparison succeeds when both fifos are open on the other end: mkdir dir1 dir2 mkfifo dir1/test dir2/test echo test > dir1/test& echo test > dir2/test& <...start kdiff3, select both directories, tick Binary comparison under Configure->Directory...> [1]- Done echo test > dir1/test [2]+ Done echo test > dir2/test
Git commit 42f7a32dbe2c597c3f306aaecbafb771adb75986 by Michael Reeves. Committed on 14/10/2018 at 23:53. Pushed by mreeves into branch 'master'. Fix 252250 only try to read normal files FIXED-IN:1.7.90 M +4 -0 src/diff.cpp M +9 -0 src/fileaccess.cpp M +1 -0 src/fileaccess.h https://commits.kde.org/kdiff3/42f7a32dbe2c597c3f306aaecbafb771adb75986