Repository navigation
Conversation
crash.s calls crash.c on its own stack after the record is written: it looks the PC and the eight stack longs up in the loader's owner records (both SDRAM aliases) and writes the ids after the record, at 0x100ff8b4, for that count. The new loader lookup reads only the base's own owner table, never the pool. A lookup that faults comes back for the next count and restarts without names. At the next start diag.c puts the PC's module in the CRASH incident's screen and the stack's distinct modules in its id run, as a set record does, so the names travel with the incidents the Worker already takes. diagnostics:pull and device.mjs crash print them. Base rebuilt with --beta --write. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
npm run octatrack:module-packages -- --base-only. The write-lease entries did not move, so Analog BD's reviewed recipe stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 8, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft: waits for the owner's unit test (a dev twin's
crashtest). Not mergeable before that.What
A crash record today holds registers and the stack but no module (crash.c), and
diagnostics:pullprints onlypc 0x…. Modules are placed at run time, so an address alone names nothing.modwerk_crash_ownerson a stack of its own (the faulting one may be what broke). That looks up the PC and the eight stack longs, in both SDRAM aliases, with a new loader function,modwerk_runtime_owner_module. It reads only the base's own owner records, never the pool. It writes{"MWCO", count, PC's module, eight stack modules}right after the record at0x100ff8b4(44 bytes, below the stall record at0x100ff900).screenfield and the distinct stack modules in its 56-byte id run, as a set record does. So the names travel with the incidents the Worker has always taken.diagnostics:pullprintscrash pc 0x… in Mini Verb, stack through SC Ringmod, anddevice.mjs crashprints the owners. An older base's crash prints as before.Base rebuilt with
--beta --write. Base-bound packages relinked; the write-lease entries did not move, so Analog BD's reviewed recipe stays.docs/OCTATRACK_DRIVING.mdlists the new battery RAM range.How I checked
test_crash.c(new): owners in both aliases, for the record's count, and re-entry skipped.test_diag.c: the CRASH incident carries the ids, and stale owners from another count are ignored.host_test.c(loader): any byte of the extent matches, nothing past it, and nothing once the module is discarded.diagnostics-pull.test.mjs: names, and an older base's crash.npm run pr:ready: Ready.Not tested
--devtwin, runcrashtest, thencrash. It should show the record andmodules: PC 00000000(crashtest runs base code), and the restart must still work. The owner power-cycles after the crash restart.Base batch
#1320 (the module store) also regenerates the base files. Whichever merges second merges
main, then rebuilds the base and the base-bound packages.Guides
docs/OCTATRACK_DRIVING.mdnames the owners' range. Nothing else was missing.🤖 Generated with Claude Code