Source: xapian-omega Version: 1.4.25-2 Severity: serious Justification: preventing migration of fixed faketime on 32-bit arches
Hi. xapian-omega uses faketime in its tests. (`omegatest.pl`, starting nearl l.565.) The 32?64-bit time_t transition broke faketime completely on 32-bit platforms for reasons relating to the libc's kernel API usage (#1064555 #1032177 and duplicates.) I recently NMU'd faketime to try to fix this. The NMU fixes the principal calls (so, for example, `faketime date` now works on 32-bit) but at least some APIs are not properly faked. statx(?) is one such, #1063820, but there may be others. It seems that current faketime in sid is capable of persuading xapian-omega's upstream tests that faketime is working, but does not actually manage to fake it well enough: 40s expected: «Query((Y2000 ... Y2014 OR M201501 ... 40s received: «Query((Y2000 ... Y2024 OR D20250101 ... Here's a full log of a failure: https://ci.debian.net/packages/x/xapian-omega/testing/armel/56459429/ The test script has code in it to try to detected a busted faketime, but it evidently doesn't faithfully test the calls actually used by the software under test. As a result, the tests now fail. Previously, I presume, they currently detected that faketime was completely broken, and skipped those tests. Would it be possible to gate these tests on a more faithful test? I'm not sure what that would look like because I don't know xapian-omega at all. One stopgap might be to gate the tests with stat(1) as well as date(1). faketime is supposed to clamp file timestamps so they don't look like they're from the future. So statting any file created during the build or the tests, with a very old faked time, would suffice. If xapian-omega is using file timestamps, this would possibly even be arguably correct. Failing that, we could perhaps ask the release time to allow the new faketime to migrate anyway. But that would mean that *other* regressions of xapian-omega on 32-bit platforms wouldn't count as a regression. So it would be best to skip this. AFAICT from tracker.d.o xapian-omega is the only package which is troubled in this way. I regret the need to file this bug at such a high severity. I do this because quite a few other packages use faketime in their tests, and currently those tests are all broken. Allowing the new faketime to migrate, despite the missing interposition for stat, would be a significant improvement. I'm hoping you'll agree. FTR, IMO if this bug gets anywhere near triggering autoremoval of xapian-omega, we should do something less drastic instead. Thanks, Ian. -- Ian Jackson <ijack...@chiark.greenend.org.uk> These opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.