Created attachment 120402 [details] Progress stuck in the first attempt. Notice the http protocol for getting the file status SUMMARY STEPS TO REPRODUCE 1. Select 2 folders. One of them is a remote folder using ssh (fish:/) 2. Start comparison OBSERVED RESULT Immediately after starting the comparison the Directory Comparison Status appear with 0 subdirectories, different and equal files. The attached image of the progress bar stay forever with no CPU activity. I can access the same remote folder from dolphin or the file picker without problems EXPECTED RESULT Kdiff3 works flawlessly like used to do until the last update. SOFTWARE/OS VERSIONS Neon user edition KDE Plasma Version: 5.15.5 KDE Frameworks Version: 5.58.0 Qt Version: 5.12.0
Created attachment 120403 [details] Progress stuck after cancelling and restarting a comparison. Notice the fish:/ protocol for getting the file status
I downgraded kdiff3 to 1.8.0 and the problem is already there. Version 0.9.98 works flawlessly with remote connections using fish:/
Created attachment 120573 [details] attachment-7450-0.html I'll get a quick fix tonight.
Obviously this isn't quite as easy as I thought. I just pushed patches to fix the url handling so that part is fixed. Also the operation can also now be canceled successfully in the event that this hang occurs without crashing or other weirdness. The hang itself is the result kdiff3 sometimes not getting a job finished notification. Not sure exactly where the problem is there.
Probably not related but it's not the first time that remote comparison breaks https://sourceforge.net/p/kdiff3/bugs/186/
Git commit 29a610ad14ff0563e1876a15ab956d47cad6fe88 by Michael Reeves. Committed on 14/07/2020 at 04:09. Pushed by mreeves into branch '1.8'. Insure ProgressProxy::exitEventLoop is always called on job termination. M +19 -6 src/fileaccess.cpp M +1 -0 src/fileaccess.h https://invent.kde.org/sdk/kdiff3/commit/29a610ad14ff0563e1876a15ab956d47cad6fe88
Git commit 8cb84255c89080d63bd717c4d664952d504c2a20 by Michael Reeves. Committed on 14/07/2020 at 04:14. Pushed by mreeves into branch 'master'. Insure ProgressProxy::exitEventLoop is always called on job termination. M +19 -6 src/fileaccess.cpp M +2 -1 src/fileaccess.h https://invent.kde.org/sdk/kdiff3/commit/8cb84255c89080d63bd717c4d664952d504c2a20
*** Bug 423049 has been marked as a duplicate of this bug. ***
Fixed the cause of the hang. KDiff3 should now detect all job terminations. This also prevents crashes when later trying to kill the non-existant job. A simple comparison over 'fish://' on my dev setup now completes without issue.