Samuel Thibault, le dim. 01 mars 2026 20:10:33 +0100, a ecrit:
> Milos Nikic, le ven. 27 févr. 2026 12:09:28 -0800, a ecrit:
> > This new assert SHOULD fail and if it does it will give us the info needed 
> > to
> > fix the problem.
> 
> > ---
> >  libdiskfs/name-cache.c | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/libdiskfs/name-cache.c b/libdiskfs/name-cache.c
> > index 99591754..7a84fdb3 100644
> > --- a/libdiskfs/name-cache.c
> > +++ b/libdiskfs/name-cache.c
> > @@ -197,7 +197,11 @@ diskfs_enter_lookup_cache (struct node *dir, struct 
> > node *np, const char *name)
> >      add_entry (bucket, i, name, key, dir->cache_id, value);
> >    else
> >      if (bucket->node_cache_id[i] != value)
> > -      bucket->node_cache_id[i] = value;
> > +      {
> > +   /* DO NOT MERGE: Catch threads clobbering valid entries with negative 
> > ones */
> > +   assert_backtrace (!(value == 0 && bucket->node_cache_id[i] != 0));
> > +   bucket->node_cache_id[i] = value;
> 
> Ok, I see.  I have installed it and will see what we get with building
> large packages (gcc also had the same kind of issue).

No need for a large package, the buildd got the issue again. I got a
closer look:

$ ls -l 
~/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze
total 8
drwxr-xr-x 5 root root 8192 Mar  2 12:06 XHtml1

$ cd 
~/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
-bash: cd: 
/home/buildd/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1:
 No such file or directory

$ ls -l 
~/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
ls: reading directory 
'/home/buildd/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1':
 Input/output error

After reboot:
$ ls -l 
~/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze
total 8
drwxr-xr-x 5 root root 8192 Mar  2 12:06 XHtml1

$ cd 
~/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
-bash: cd: 
/home/buildd/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1:
 No such file or directory

$ ls -l 
~/build/chroot-unstable/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
[hangs]

gdb shows that ext2fs is stuck inside count_dirents because le16toh
(entry->rec_len) == 0, I had already seen that before, so had commited a
check against it, but hadn't included it in my build. I'll add it, and
also put some warnings along returning -EIO.

Samuel

Reply via email to