Summary: | Kdiff3 1.8.1 hangs on comparing two large directories | ||
---|---|---|---|
Product: | [Applications] kdiff3 | Reporter: | Slaviro <slavon93> |
Component: | application | Assignee: | michael <reeves.87> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | wbauer1 |
Priority: | NOR | ||
Version: | 1.8.x | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/kde/kdiff3/commit/0737cc3e2ddf75fcd69efb385303e0cab3e2db48 | Version Fixed In: | 1.8.2 |
Sentry Crash Report: |
Description
Slaviro
2019-06-21 12:21:12 UTC
https://phabricator.kde.org/D22294 looks like it should fix your problem. This address an issue with files not being closed. (In reply to michael from comment #1) > https://phabricator.kde.org/D22294 looks like it should fix your problem. > This address an issue with files not being closed. It seems to have fixed the problem I had the same problem when comparing two folders, and I can confirm that https://phabricator.kde.org/D22294 fixed it for me too. But: the commit to the 1.8 branch is incomplete: https://cgit.kde.org/kdiff3.git/commit/?h=1.8&id=804997e45675e1ea1e86559d11f118d73fca8ce0 It misses a (the most important?) part. I had to add these lines (from master) to fix 1.8.1: if(memcmp(&buf1[0], &buf2[0], len) != 0) { bError = false; + fi1.close(); + fi2.close(); return bEqual; } sizeLeft -= len; //pp.setCurrent(double(fullSize-sizeLeft)/fullSize, false ); pp.step(); } + fi1.close(); + fi2.close(); // If the program really arrives here, then the files are really equal. bError = false; Reopening therefore. Git commit 0737cc3e2ddf75fcd69efb385303e0cab3e2db48 by Michael Reeves. Committed on 26/07/2019 at 17:19. Pushed by mreeves into branch '1.8'. Fix botched merge M +5 -0 src/directorymergewindow.cpp https://invent.kde.org/kde/kdiff3/commit/0737cc3e2ddf75fcd69efb385303e0cab3e2db48 |