Subject: Re: bug#59821: 9.1: du Aborted (corrupt filesystem)

From: Paul Eggert <[email-masked]>
Date: Fri, 9 Dec 2022 15:46:11 -0800

On 12/6/22 23:57, Luke Dashjr wrote:

> getdents64(3, [{d_ino=1179698, d_off=3802031580503460560, d_reclen=24, d_type=DT_DIR, d_name="."}, {d_ino=1179668, d_off=4580148598467312926,
> d_reclen=32, d_type=DT_REG, d_name="banlist.json"}, ...
This hints at the problem, as it says that "." and its subdirectory 
"banlist.json" have the same inode number. Still, this glitch in your 
filesystem shouldn't cause 'du' to abort (it can happen with mounts).

Perhaps enabling FTS debugging will help. I committed a change to try to 
get that working again. Please build by bootstrapping from the latest 
commit on Savannah, or from the following tarball (which should be 
equivalent):

https://www.cs.ucla.edu/~eggert/coreutils-9.1.104-66ceda.tar.xz

Build with -DGNULIB_FTS_DEBUG in your CFLAGS, and then run with 
fts_debug set to true (either via a debugger, or simply by editing the 
source code before building so that it is initially true). What is the 
output of your problematic 'du' in that case?