|
From: | Pádraig Brady |
Subject: | bug#51433: cp 9.0 sometimes fails with SEEK_DATA/SEEK_HOLE |
Date: | Sat, 30 Oct 2021 11:22:13 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Thunderbird/84.0 |
On 30/10/2021 02:24, Paul Eggert wrote:
On 10/28/21 12:11, Paul Eggert wrote:Wait - lseek returns a number less than -1?! We could easily check for that FreeBSD bug, perhaps as an independent patch; this shouldn't require any extra syscalls.I installed the attached patch to do this. This doesn't fix coreutils bug#51433; it merely makes 'cp' and similar programs more likely to detect and report the FreeBSD 9.1 bug you mentioned.
On further inspection it seems the bug is in truss :/ I.e. the only bug on FreeBSD 9.1 is that the SEEK_DATA takes ages, but the returned values are correct. I.e. SEEK_DATA was returning 1099511595008 in this case which truss was reporting in 32 bit rather than 64 bit. I see other inconsistencies in truss output, so it can only be relied on for what syscall was called, rather than what was passed/returned. Given this patch doesn't change any operation, it may be best to revert to avoid the complexity? cheers, Pádraig
[Prev in Thread] | Current Thread | [Next in Thread] |