Browse Source
Copying ::punk::libunknown::epoch verbatim into a fresh interp/thread carries per-epoch 'added' maps that drive zipfs_tclPkgUnknown's can_skip_sourcing short-circuit - sound only in the interp that performed the scans. Packages the donor obtained at an earlier epoch (or with no unknown call: Thread is baked into thread::create'd threads) are absent from the donor's current-epoch map, so recipients skip their pkgIndex sourcing and requires fail where stock tclPkgUnknown would succeed. Bit deterministically as repl_console_backend_tkconsole under the suite 9.0.5 runtime: 'package require Tk' bumps the epoch pre-init, the codethread inherits the post-bump sparse map, the code interp then can't find vfs/Thread/registry, its init aborts before the G-001 conredirect junction vars exist, and the first pending-collect error left the repl reader inactive until the driver failsafe. Tcl903 escaped only by an accidental extra epoch bump in its code interp (fresh map, full rescan). Fix: punk::lib::libunknown_epoch_export (PUNKARGS-documented) - epoch record with every 'added' map emptied; counters/untracked/scripts/index globs preserved. Used at all four propagation sites (interp_sync, snapshot, repl %lib_epoch%, repl safe-arm). Hardening: the repl pending-collect now tolerates missing junction vars so a code-interp init failure can't wedge the reader. Also: test socketpairs pinned to -myaddr 127.0.0.1 (all-interfaces listens raised windows firewall consent popups for each newly built test exe - user datapoint). Verification: consolebackends 3/3 both runtimes (suite 42s->14s); full runtests sweeps identical on suite runtime and Tcl903: 1037/1021/15/1 with the sole failure exec-14.3 (documented machine baseline). G-098 acceptance sweep met. Pre-existing PUNK_TEST_TK opt-in quirk noted in the goal (silent early end, both runtimes, out of scope). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.commaster
5 changed files with 115 additions and 13 deletions
Loading…
Reference in new issue