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:
Sylpheed RE agent
2026-08-19 04:17:36 +00:00
parent 10b89c77a3
commit 743ddda8b1
2 changed files with 37 additions and 0 deletions

View File

@@ -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`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 KiB