Repository navigation
Improvement: a crash record reads as names - #1493
Merged
Merged
Conversation
device crash, diaglog and diagnostics:pull name the program counter and what the stack points at, from the symbols of each base built or started on this computer and the developer's own notes on stock addresses. Neither is committed. Co-Authored-By: Claude <noreply@anthropic.com>
diagnostics:pull is an Elastic-2.0 pipeline tool and the device and base tools are GPL, so the names they share are dual-licensed in src/dev and listed in LICENSES/platform.json. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
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.
device -- crash,diagloganddiagnostics:pullprint the function the program counter was in and what the stack points at, for examplein mw_frame_exit+0x2c, stack holds modwerk_diag_frame+0x20, UART1_FLUSH+0x4. The names come fromsymbols.jsonof each base built withoctatrack:base -- --outor started withboot DIRon that computer, kept under the base's identity in~/.cache/modwerk-local/octatrack/symbols/. A developer's own names for stock addresses go in~/.cache/modwerk-local/octatrack/addresses.json. Neither file is committed. A record from a base with no kept build prints without names, never with another base's. A name reaches 4 KB past its address; further on, nothing is named.npm run pr:readysays Ready after mergingmain. New tests insrc/dev/address-names.test.tsand one inscripts/diagnostics-pull.test.mjs. Tried once on a real development build'ssymbols.json, which gave the line above. Not tried on a unit: no crash record was read from hardware with it.docs/OCTATRACK_DRIVING.mddid not say a crash record could be named; itscrashrow now says how and where the notes file lives.For review:
src/dev/address-names.tsis dual-licensed (GPL-3.0-or-later OR Elastic-2.0) and added to the shared files inLICENSES/platform.json, because the GPL device and base tools and the Elastic-2.0diagnostics:pullboth import it. That entry is the owner's licence decision.octatrack:base -- --outbuild to be named.🤖 Generated with Claude Code