#293 stage1 REPL boot broken at HEAD: LOAD-OPEN-FAILED 'pathname designator is not a string' then hang+core (5 suite tests fail)

closed
Opened by atgreen

REGRESSION on main (reproduces at clean HEAD c9303a7 + docs commits; verified via stash+rebuild — NOT the ADR-0030 fasl work e5e2f5d, which merely surfaced it by running the sharded suite).

Repro: make build timeout 20 build/funcl-stage1 </dev/null Prints the banner, then: LOAD-OPEN-FAILED fd=-2 len=41 path=[load: pathname designator is not a string] then hangs (timeout) and dumps core. NOT caused by ~/.funclrc (same failure with it moved aside). build/funcl and build/funcl-stage2 are fine — stage1 only.

Something at stage1 REPL boot calls load with a non-string designator; the error text is repl.lisp:627's string-designator check, and the 41-char error message itself lands in the LOAD-OPEN-FAILED path field.

Fails these bootstrap tests (all stage1): funcl-stage1-prints-banner-on-no-args, funcl-stage1-format-to-string, funcl-stage1-repl-evaluates-expressions, funcl-stage1-repl-supports-handler-case, funcl-stage1-save-image-restart-evaluates ("Segmentation fault").

Prime suspects (today's boot/load commits): bdd8784 (bind load-pathname/load-truename around load), the boot-perf %pread embedded-image changes (stage1 has no embedded image — the boot probe may now hand a non-string to the load path), or the ~/.funclrc startup wiring. Per feedback: gdb backtrace on the core, not bisect — JIT .eh_frame makes it walkable.

Comments (1)

atgreen3992887749

Fixed in c5494e4: the ~/.funclrc hook (b229e42) called stdlib defuns (%getenv/concatenate/file-exists-p) absent from stage1's reduced cold prelude; the undefined call at boot had no handler and cascaded into the cave#215 reader spin + SIGSEGV. Gated the hook on ag-pool-range-populated-p (the cave#71 host-build discriminator) — stage1 boots clean; banner/format-to-string/repl-evaluates pass again. The remaining handler-case + save-image-restart failures were bisected to f2767ea (separate regression) — now cave#294.