mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
D287 M-152: correct false evidence citation, static architecture trace
scratch/d287_freeze_gdb.txt, cited as this finding's freeze-time evidence, does not contain it -- grepped for every specific number the write-up quotes (frame 17616, the three heartbeat stall times) and got zero hits. The file on disk is an unrelated clean normal-exit capture. No real freeze-time thread state has actually been analyzed for this bug yet; corrected the entry so a future session doesn't treat it as narrowed-and-confirmed. Also traced the consumer/producer architecture statically (mainThread's only OS_MESG_BLOCK send is rsp.c:271's osSendMesg into the scheduler's cmdQ; GE_D60 doesn't cover sends), and found portHeartbeatCheck hard-caps at 3 reports/process -- "heartbeat stopped logging" in the original write-up is that cap, not new evidence. Both quirks added to porting-notes.md. No code change -- diagnostic-only pass, needs a real live capture next.
This commit is contained in:
1 parent
695ff7ec09
commit
8d42ac5ee2
2 files changed
+16
-1
No files matched your search
@@ -702,6 +702,19 @@ through a converter or a runtime bswap fixup reads scrambled.
|
||||
Confirm the `src/game/` side is clean first (item ID, resource-table
|
||||
entry, model header, generic equip/gate pipeline) before spending time
|
||||
in fast3d — but once it is, look there, not back at the decomp logic.
|
||||
- **`portHeartbeatCheck` (`port/src/libultra.c:218`) hard-caps at 3
|
||||
reports total per process lifetime, by design** ("stop after a few
|
||||
reports"). When chasing a long-idle hang (D287), "the heartbeat stopped
|
||||
logging" is that cap firing, not evidence the hang resolved, worsened,
|
||||
or changed mechanism — don't read silence from this diagnostic as a
|
||||
signal. Gate a raised/unlimited report count behind its own env var for
|
||||
these investigations instead of trusting the default cap's silence.
|
||||
- **Before citing a `scratch/*.log`/`.txt` capture as "evidence" in a
|
||||
finding, grep it for the specific numbers/strings the write-up claims**
|
||||
(D287): a file with the right name on disk is not proof it holds the
|
||||
claimed capture — this one turned out to be an unrelated normal-exit
|
||||
run, not the freeze it was cited for, and the mistake propagated
|
||||
through the entry unnoticed until a later static pass checked.
|
||||
- **D74 wrap-block is DEAD CODE** (`gfx_pc.cpp:1546/1551`): guard is
|
||||
`cms & G_TX_WRAP` but `G_TX_WRAP == 0`, so always false (line 1887 does
|
||||
it right with `cms == G_TX_WRAP`). And if it did run it indexes
|
||||
|
||||
Reference in new issue
Block a user