docs/re: eh_dispatch is untested, and the black screen follows a content load
The run with --eh_dispatch=true produced zero crashes and zero throws, which is not the result it looks like: the crash path was never reached, so the flag is UNTESTED. Recording that rather than banking a false pass. What the run did establish, with screenshots: TUTORIAL leads to a lesson list (a fifth screen nobody had captured, committed), and selecting BASIC CONTROLS puts the guest on a permanent black screen — no crash, no GUEST-THROW, emulator healthy. That gives the black screen a trigger it did not have before: it follows a CONTENT LOAD, which also fits the earlier black screens. So the two blockers on the way to a mission are distinct and both unbeaten: the SELECT DATA crash when the path goes through save-slot enumeration, and the black-screen hang on loading content. The eh_dispatch test needs a run that actually reaches SELECT DATA.
This commit is contained in:
@@ -315,3 +315,40 @@ arms under whatever load was present, and the latest title of all (268 s)
|
||||
window is a live hypothesis that the data collected so far cannot exclude, and
|
||||
the honest next measurement is the one now being taken — the same navigation on
|
||||
an **idle** box, with nothing else running.
|
||||
|
||||
## The black screen has a trigger: loading content (2026-08-19)
|
||||
|
||||
Running the same navigation with `--eh_dispatch=true` (to test whether
|
||||
dispatching the guest's C++ exception to its catch handler survives the
|
||||
`SELECT DATA` crash) produced **zero crashes and zero throws** — and that is not
|
||||
the good news it looks like, because the crash path was never reached.
|
||||
|
||||
What happened instead, with screenshots at every step:
|
||||
|
||||
```
|
||||
main menu → TUTORIAL → the LESSON LIST (BASIC CONTROLS / HEADS-UP DISPLAY /
|
||||
RADAR / SUPPLY AND SPECIAL MOVES / RADIO ORDERS / ADVANCED
|
||||
CONTROLS / BACK) captures/tutorial-lesson-list.png
|
||||
→ Ⓐ on BASIC CONTROLS
|
||||
→ BLACK SCREEN, permanently, for the remaining 160 s
|
||||
```
|
||||
|
||||
No crash dump, no `GUEST-THROW`, the emulator healthy and the guest still
|
||||
running. So **`--eh_dispatch` is untested** — the experiment it was set up for
|
||||
did not occur.
|
||||
|
||||
**What it did establish**: the black screen this session has hit four times is
|
||||
not random. It follows a **content load** — here, selecting a tutorial lesson.
|
||||
Earlier black screens fit that too: one came after 88 scripted Ⓐ presses through
|
||||
the boot (which would have selected *something*), and one after a boot that was
|
||||
never touched but had reached the attract loop. The two failure modes on the way
|
||||
to a mission are therefore distinct:
|
||||
|
||||
* the **`SELECT DATA` crash** — the cache-flush `std::map` erase, when the path
|
||||
goes through save-slot enumeration;
|
||||
* the **black-screen hang** — no crash, no throw, on loading content.
|
||||
|
||||
Neither has been beaten, and this run tested neither: it took a different branch
|
||||
through the menus than the run before it (TUTORIAL leads to a lesson list, and
|
||||
the DIFFICULTY screen captured earlier came from a different selection). The
|
||||
`--eh_dispatch` test needs a run that actually reaches `SELECT DATA`.
|
||||
|
||||
BIN
docs/re/captures/tutorial-lesson-list.png
Normal file
BIN
docs/re/captures/tutorial-lesson-list.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 777 KiB |
Reference in New Issue
Block a user