Hello,

Michael Kelly, le jeu. 19 févr. 2026 06:02:36 +0000, a ecrit:
> I ran that sequence for around 30
> successful builds until my virtual machine locked up with a panic:
> 
> panic ../vm/vm_page.c:1618: vm_page_alloc_pa: vm_page: privileged thread
> unable to allocate page

Which is essentially an out of memory situation. In principle the
swapping code tries to keep on the safe side to make sure privileged
threads can allocate, but "privileged threads" is probably too
inclusive. AFAIK only the default pager and rumpdisk get privileged.
There is also notably vm_map_lock() that gets privileged. Is the
backtrace of this panic after a vm_map_lock()?

> The corruption isn't entirely random. These are the 'od' differences between
> the broken shared library from the 'snapshot.debian.org' above and one from
> a local build that doesn't show the R_X86_64_NONE elf entries:
> 
> $ diff working/hexdump broken/hexdump | grep '<'
> < 024050 485f 6465 6567 6f68 7a67 4369 616c 7373
> < 024070 7a5f 7464 5463 6972 6c70 3165 635f 6f6c
> < 024ff0 6800 6465 6567 6f68 7a67 636d 616c 7373
> < 066050 7098 001b 0000 0000 0008 0000 0000 0000
> < 066070 0008 0000 0000 0000 5fe0 001b 0000 0000
> < 066ff0 7f0b 001b 0000 0000 7f38 001b 0000 0000
> < 0a0050 0000 0000 0000 0000 24d8 001a 0000 0000
> < 0a0070 2598 001a 0000 0000 0001 0000 01f0 0000
> < 0a0ff0 0001 0000 01f0 0000 0000 0000 0000 0000
> < 120050 f024 8d48 7705 08d4 4900 4489 f824 8d49
> < 120070 90ff c749 8885 0003 6800 0000 4100 65ff
> < 120ff0 001e 0000 0000 0000 8b48 0875 8949 48de
> 
> Each 16 byte sequence above is completely replaced by zero in the broken
> library. There is a consistent pattern of wrongly finding zero at page
> offsets 0x50, 0x70 and 0xff0. I don't imagine there is anything generic to
> conclude from these particular offsets but the consistency is perhaps
> relevant.

Probably, yes.

> What version of gnumach do the buildd machines run ?

The latest debian package.

> Are there any other packages available to download that also have corrupted
> content ?

My rebuild logs show these packages:

haskell-hedgehog_1.5-1
haskell-attoparsec_0.14.4-7
haskell-data-fix:
haskell-data-fix_0.3.4-2
haskell-dlist_1.0-6
haskell-typed-process_0.2.13.0-1
haskell-cryptonite_0.30-4
haskell-statistics_0.16.4.0-1
haskell-sdl2_2.5.5.1-1
haskell-happstack-server_7.9.3-1
haskell-clash-lib_1.8.4-1
haskell-jmacro_0.6.18-3
haskell-blaze-html_0.9.2.0-2
haskell-typst-symbols_0.1.8.1-1
haskell-typst_0.8.0.2-1
haskell-pandoc-types_1.23.1.1-1
haskell-hedgehog-classes_0.2.5.4-3
haskell-dbus_1.4.1-1
haskell-persistent_2.17.1.0-1
haskell-openglraw_3.3.4.1-5
haskell-opengl_3.0.3.0-7
haskell-heterocephalus_1.0.5.7-4
haskell-miniutter_0.5.1.2-4
haskell-ogma-language-smv_1.11.0-2
haskell-debian_4.1.2-1

Note that for some of these, the failed build was rather old, before the
mmx clobber fix. In the log, one can check that the mmx clobber fix is
there (libc0.3-dev >= 2.42-12)

Samuel

Reply via email to