FABRIC.md: item 4.5d Finding 4 -- deep-traced, not yet root-caused
Computed the loader's true runtime relocation delta to correctly correlate fault addresses (the running image is starkernel_loader.efi, a relocated PE, not the separately-linked starkernel_kernel.elf assumed at first). Fault RIP decodes to log_message()'s entry -- coincidental, not causal, since it's called on nearly every HADES dispatch during word registration. Used QEMU's monitor for -d exec,int tracing. Late-start tracing (stop right before the danger zone to keep trace size down) failed twice -- the window between a detectable checkpoint and the crash is shorter than host-side reaction latency. Fell back to full-boot tracing from -S (~2.7GB per attempt, not committed). That trace shows an unremarkable, normal-looking repeating three-block loop immediately before the fault, then "Servicing hardware INT=0x20" (APIC_TIMER_VECTOR) with IDT already showing limit=0 at that instant. Ruled out a second illegitimate lidt call (only one call site exists anywhere, one-time M4 boot setup; searched the trace for any later execution of that address range and found none). Not yet established: the actual corrupting write. Documented two remaining explanations (earlier silent corruption vs. a genuine TCG artifact) and that pinpointing the exact instruction needs GDB-level single-stepping, a bigger tooling step than attempted this session. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
1c5e926c3f
commit
065ab50240
@@ -1,5 +1,5 @@
|
||||
# Capsule Block Manifest — Auto-generated
|
||||
<!-- Generated by mkcapsule --manifest 2026-08-11T16:15:06Z -->
|
||||
<!-- Generated by mkcapsule --manifest 2026-08-11T16:37:57Z -->
|
||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||
<!-- Hand-written justifications and immutability notes live -->
|
||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||
|
||||
Reference in New Issue
Block a user