Hi,
On canonical Debian GNU/Hurd 0.9, an apt-get install of around
14 MB of packages onto the underlying ext2fs /var reproducibly
trips an ext2fs translator assertion within a minute or two and
wedges the rootfs.
Reproducer:
1. Boot a canonical Debian GNU/Hurd 0.9 image (gnumach
2:1.8+git20260224-8, hurd 1:0.9.git20251029-7+b1). /var is
mounted via /hurd/tmpfs (size 256M) by default and masks the
underlying ext2fs /var on the rootfs.
2. Drop the tmpfs to expose the underlying /var:
settrans -fg /var
3. apt-install a multi-package set, for example:
apt-get install -y --no-install-recommends \
xvfb emacs-lucid elpa-exwm elpa-xelb pulseaudio
dpkg unpacks a few packages and then the kernel log emits:
ext2fs: ../../ext2fs/pager.c:455:
file_pager_write_pages: Assertion 'blk' failed.
The translator does not recover; subsequent writes to /
hang and the VM has to be reset.
The same install runs to completion against the /hurd/tmpfs
overlay (nothing persists in that case, of course). The rootfs
is well under any size limit (5 GB qcow2 with around 3.6 GB
free per df before the install). Reading pager.c around line
455 the failing condition looks like an indirect-block lookup
returning zero for a block the pager is about to write out,
which on the face of it reads like a metadata coherency issue
between the inode block map and the pager's view of the dirty
page; I am not an ext2fs maintainer, so that reading may be
wrong.
I would appreciate:
- Confirmation that this reproduces, or a pointer if it is
a known bug already in flight.
- Guidance on whether the root cause sits in ext2fs's pager,
in inode block-map maintenance under the apt-install
workload, or upstream of both.
- If a patch exists or is planned, which release it lands in.
Happy to test patches in a qemu loop, run the workload against
a debug build of ext2fs with extra logging, or send the full
serial trace if any of that helps.
Alternative filing channel if a tracker entry is preferred:
https://savannah.gnu.org/bugs/?group=hurd
Thanks,
Borja Tarraso
[email protected]