code wiki / (root) / nx_fnres_offset_probe.nx

nx_fnres_offset_probe.nx

buildroot/runtime/nx_fnres_offset_probe.nx

3543 B76 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind probe
docsdependenciesstructsconstsfunctions

about

nx_fnres_offset_probe.nx -- proves the FNRES offset desync is fixed (debt 1785521219). THE DEFECT: nx_autofix_auto's fn_failing clamped the parsed name to 23 bytes, then located the `passed` and `total` fields at `r + 6 + nl + 1` -- i.e. from the CLAMPED length. For any function name longer than 23 characters that offset lands INSIDE the name, the digit scan hits letters and bails, and `passed` stays 0. The tool then reports ZERO TESTS PASSED for a function that passed all of them -- a wrong NUMBER, not a crash, in a tool that judges fixes by that number. THIS PROBE USES A 30-CHAR NAME (over the 23 clamp) so it exercises exactly the broken path. With the old code T2 reads passed=0; with the fix it reads passed=7. expect_exit: 0 license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_fnres_offset_probe.nx

imports: nx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap fo_parse_passed fo_len fo_w sys_write fo_parse_passed_old fo_len ↻

structs

none

consts

none

functions

15func fo_w(s: *u8) -> i64
called by 1: main calls 1: sys_write
22func fo_len(s: *u8) -> i64
29func fo_parse_passed(row: *u8, namebuf: *u8) -> i64
called by 1: main calls 1: fo_len
43func fo_parse_passed_old(row: *u8, namebuf: *u8) -> i64
called by 1: main calls 1: fo_len
55func main() -> i64