| Summary: | kdiff3 1.10.1 aborts on "Assertion `!m_modificationTime.isNull()'" when a file or directory with mtime <= 999,999ns from epoch is encountered | ||
|---|---|---|---|
| Product: | [Applications] kdiff3 | Reporter: | Justin Keogh <kde.org> |
| Component: | application | Assignee: | michael <reeves.87> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 1.10.1 | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/sdk/kdiff3/commit/9a5de7262c9cb010e2b4ef3abd3fec869c839f15 | Version Fixed/Implemented In: | 1.10.5 |
| Sentry Crash Report: | |||
Git commit 3d27dfd6c3c61e24fadec8797f2ca862fc37e1f7 by Michael Reeves. Committed on 19/05/2023 at 15:50. Pushed by mreeves into branch 'master'. Remove assert failing on missing files Related: bug 469923 FIX-IN:FIXED-IN:1.10.5 M +0 -1 src/fileaccess.cpp https://invent.kde.org/sdk/kdiff3/commit/3d27dfd6c3c61e24fadec8797f2ca862fc37e1f7 Git commit 9a5de7262c9cb010e2b4ef3abd3fec869c839f15 by Michael Reeves. Committed on 19/05/2023 at 15:49. Pushed by mreeves into branch '1.10'. Remove assert failing on missing files Related: bug 469923 FIX-IN:FIXED-IN:1.10.5 M +0 -1 src/fileaccess.cpp https://invent.kde.org/sdk/kdiff3/commit/9a5de7262c9cb010e2b4ef3abd3fec869c839f15 |
SUMMARY kdiff3 1.10.1 fails when it encounters a file or directory with an mtime <= 999,999ns from epoch. STEPS TO REPRODUCE 1. mkdir -p a/c b; touch -m -d '1969-12-31 17:00:00.000999999 -0700' a/c 2. kdiff3 a b OBSERVED RESULT $ kdiff3 a b org.kde.kdiff3.fileAccess: Reading folder: "/delme/a" org.kde.kdiff3.fileAccess: Reading folder: "/delme/a/c" org.kde.kdiff3.fileAccess: Reading folder: "/delme/b" kdiff3: /var/tmp/portage/kde-misc/kdiff3-1.10.1/work/kdiff3-1.10.1/src/fileaccess.cpp:773: QDateTime FileAccess::lastModified() const: Assertion `!m_modificationTime.isNull()' failed. Aborted $ python -c "import os; print(os.lstat('a/c').st_mtime_ns)" 999999 Adding a nanosecond, the assert is not triggered: $ mkdir -p a/c b; touch -m -d '1969-12-31 17:00:00.001000000 -0700' a/c; /usr/bin/kdiff3 a b org.kde.kdiff3.fileAccess: Reading folder: "/delme/a" org.kde.kdiff3.fileAccess: Reading folder: "/delme/a/c" org.kde.kdiff3.fileAccess: Reading folder: "/delme/b" $ python -c "import os; print(os.lstat('a/c').st_mtime_ns)" 1000000 Filesystem: ext4