Hey Samuel,
This is what i attempted on my machine
sudo apt-get update
apt-get source haskell-blaze-html
sudo apt-get build-dep haskell-blaze-html
cd haskell-blaze-html-0.9.2.0/
dpkg-buildpackage -us -uc
Once it was done i did
$ find -name XHtml1
./src/Text/Blaze/XHtml1
./debian/tmp/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
./debian/libghc-blaze-html-dev/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
./debian/libghc-blaze-html-prof/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
./dist-ghc/build/Text/Blaze/XHtml1
and for me
$ ls src/Text/Blaze/XHtml1
FrameSet FrameSet.hs Strict Strict.hs Transitional Transitional.hs
$ ls
debian/tmp/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
FrameSet FrameSet.hi Strict Strict.hi Transitional
Transitional.hi
FrameSet.dyn_hi FrameSet.p_hi Strict.dyn_hi Strict.p_hi
Transitional.dyn_hi Transitional.p_hi
$ ls
debian/libghc-blaze-html-dev/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
FrameSet FrameSet.dyn_hi FrameSet.hi Strict Strict.dyn_hi Strict.hi
Transitional Transitional.dyn_hi Transitional.hi
$ ls
debian/libghc-blaze-html-prof/usr/lib/haskell-packages/ghc/lib/x86_64-hurd-ghc-9.10.3-bf23/blaze-html-0.9.2.0-Jz5lUDpdotoDoDIwOatFss/Text/Blaze/XHtml1
FrameSet FrameSet.p_hi Strict Strict.p_hi Transitional
Transitional.p_hi
$ ls dist-ghc/build/Text/Blaze/XHtml1
FrameSet FrameSet.hi FrameSet.p_o Strict.dyn_o Strict.p_hi
Transitional.dyn_hi Transitional.o
FrameSet.dyn_hi FrameSet.o Strict Strict.hi Strict.p_o
Transitional.dyn_o Transitional.p_hi
FrameSet.dyn_o FrameSet.p_hi Strict.dyn_hi Strict.o Transitional
Transitional.hi Transitional.p_o
Everything seems fine, nothing is corrupt at all.
Im wondering:
How many cores run on the buildd?
Maybe its the concurrency or the fragmentation???
I can take a closer look at ext2fs/dir.c particularly SHRINK and COMPRESS,
because that looks suspect.
Regards,
Milos
On Mon, Mar 2, 2026 at 5:03 AM Samuel Thibault <[email protected]>
wrote:
> 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
>