Bug 1664996

Summary: kdiff3 fails comparing directories
Product: [Fedora] Fedora Reporter: Luis Recuerda <lrecuerda>
Component: kdiff3Assignee: Vasiliy Glazov <vascom2>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 29CC: ndbecker2, vascom2
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: kdiff3-1.7.90-2.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-25 02:40:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Luis Recuerda 2019-01-10 08:48:30 UTC
After upgrading from fedora core 28 to 29, the new package 'kdiff3-1.7.90-1.fc29.x86_64' fails when comparing directories, the tree show all files are always different. When double-click a file instead it recognizes than the files are 'binary equal'

I have traced an execution with 'strace kdiff3 dir1 dir2':

...
statx(AT_FDCWD, "/tmp/dir1/file", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_BASIC_STATS, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=5, ...}) = 0
...
statx(AT_FDCWD, "/tmp/dir2/file", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_BASIC_STATS, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=5, ...}) = 0
...
openat(AT_FDCWD, "file", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
...

When program is getting both directory trees it access files using full path. But when it try to read the file it forget to add the path to the file name, neither do a previous 'chdir()'

I have downloaded and compiled last version from git repository at 'https://github.com/KDE/kdiff3' and not only this bug persists but also there is a new bug. When I try to compare only two directories it fails because it requires the third directory 'C' that should be optional.

Comment 1 Vasiliy Glazov 2019-01-10 09:00:57 UTC
Please report at https://bugs.kde.org

Or if you already have patch I can rebuild peckage with it.

Comment 2 Fedora Update System 2019-01-16 06:34:41 UTC
kdiff3-1.7.90-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-c4614c5be9

Comment 3 Fedora Update System 2019-01-17 02:11:20 UTC
kdiff3-1.7.90-2.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-c4614c5be9

Comment 4 Luis Recuerda 2019-01-22 07:41:48 UTC
I have tested the new package and compare directories works again.

This bug can be closed once new package has been moved to fedora 29 updates repository.

Comment 5 Fedora Update System 2019-01-25 02:40:10 UTC
kdiff3-1.7.90-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.