Project: https://github.com/OpenIndiana/oi-userland PR: https://github.com/OpenIndiana/oi-userland/pull/28058 Base: 0b3910eefcd88b398dea900f0b146aa8a3e78142 Head: 7009cddcf9c84cae6e3fa6ed2981b757bab9198f oi-userland source archive SHA-256: 3026b034d08514a4f43e29d4a87a8ea9df30eb3f6863c8e82ecd509428ddc91c Package: pkg://openindiana.org/web/browser/firefox@158.0.1,5.11-2026.0.0.1:20261024T164848Z Package SHA-256: f0100e56f33bbe65ed758a1d1f03db5bb102659c1da0f950db4e740b0374e371 Mozilla source archive SHA-256: b5beff55fa73a29a674a867da5922f5d7699f51e351e6bbe4405fcc4ba55a824 Native build: oi-userland recipe on OpenIndiana Hipster 2026.04 build zone oibuild (illumos-5400c85432); gcc-14 14.3.0-2026.0.0.4 (recipe GCCVER=14), rustc 1.99.0-2026.0.0.0; two-job make, Cargo and Rayon limits Firefox compiler job limit: 2 Validation receipt, 2026-10-24, all native on OpenIndiana amd64: - Native build: oi-userland head 7009cddcf9c84cae6e3fa6ed2981b757bab9198f (branch fix/firefox-wasm-canonical-pointers-20261024, base 0b3910eefcd88b398dea900f0b146aa8a3e78142) in the non-global build zone `oibuild` (Hipster 2026.04, illumos-5400c85432) under an ordinary build account with an explicit two-job limit. `gmake build`, `gmake install` and `gmake publish` each exited 0. The patched `js/src/wasm/WasmValType.h` in the build tree matches the independently reviewed fixture header byte for byte (SHA-256 c2819b460b3c71a4d8fc6fffe3c0ee59a55555591518bc36bdec923bcab2bfe1). - Package: pkg://openindiana.org/web/browser/firefox@158.0.1,5.11-2026.0.0.1:20261024T164848Z, exported alone from the build repository with pkgrecv -a. Its manifest records the Git remote, branch and revision above. The archive contains no other package. - SpiderMonkey shell from the same build: 100 WebAssembly module/instance constructions returned 42 (runtime-wasm-smoke.js), exit 0. - Headless browser: the build tree's dist/bin/firefox was started three times with --headless --no-remote and a new task-owned profile (offline prefs, local-only proxy) against wasm-smoke.html. Each run exited 0 within the 60 s bound and the captured screenshot shows `PASS: 100 WebAssembly instantiations returned 42.` This ran inside the build zone from the build tree, not from the installed package in a booted boot environment. - Installation: in a root-owned disposable alternate-root IPS image (stock Firefox 158.0.1 revision 0, `entire`, userland-incorporation 35168, Firefox version lock facet already relaxed as in the manual), the parsable install plan changed exactly web/browser/firefox from revision 0 to revision 1 with no package additions or removals and no facet, variant, mediator, service or boot-environment changes. Installation exited 0, `pkg verify -v` reported OK for Firefox and the incorporation, and the publisher list was unchanged. No boot environment was booted and no running system's packages were changed. - Limits: the build zone and the fixture host both enforce the packaged low `_userlimit` (a bounded high-address mmap returns ENOMEM), so the high-address process layout from the reported crash cannot be reproduced on these hosts. The results above are regression coverage of the patched decoder in a low-address layout; recovery in the high-address layout still needs tester acceptance. The patch changes one decoder and does not establish that all Gecko pointer representations support unrestricted high user addresses. - wasm-smoke.html was changed after review r1 to construct the module and instance synchronously, so a headless screenshot captures the result; its SHA-256 is listed in SHA256SUMS.