#9332 made 0x400000 the default base of Windows executables, as #8973
did on Linux, so the three titles that read their GOT at that base no
longer need fixed_base in titles.json: with a plain relink their guest
image starts at 0x400000 and all three render.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
titles.json no longer takes a name: a run is labelled with the package's
own param.json title name. discover() checks the param.json titleId with
the same pattern as the catalog keys, since it names the work directory
that prepare() empties.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The report took the commit of the checkout holding title_run.py, which
is wrong when --build points at another checkout. The source directory
now comes from the build's CMakeCache.txt.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A non-string env value or relink flag passed validation and stopped the
batch when the title started. List and env items must now be strings, a
param.json without titleId names its file, and the input field, which
nothing ran, is no longer accepted.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
On macOS, killpg on a group whose processes are all exiting fails with
EPERM instead of ESRCH, which made alive(), close() and kill() raise and
end the batch. The SessionTests failure showed up on macOS runners.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
ScreenTester5 presented twice in 60 s, just before the run ended, and
was reported as rendering with no frame kept. A run that never presents
enough for a frame to be dumped is now stalled.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Windows placed past the desktop edge could not be looked at. They now
keep their position and go to the bottom of the z-order without focus
when created or shown, so the run stays out of the way and the window
can be brought forward from the taskbar. A window is sent back once, so
it stays in front after the user raises it.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Without a console, Windows adds conhost.exe to the job, and its exit
code 0 replaced the title's when no folder was given.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A WinEvent hook on the title's process moves each new top-level window
past the right edge of the virtual desktop when it is created or moved,
so it no longer flashes at the centre of the screen until the next poll.
The move is asynchronous, so a title that stops pumping messages cannot
stall the run past its time limit.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A crashing title brings Windows Error Reporting into the job, and its
exit code of 0 hid the crash: the exit code now comes only from
processes whose image is inside the title's folder. Relinker FAIL lines
count as errors, and the catalog titles that need
--trap-sdk-syscall-stubs have it in titles.json. Each title is prepared
in <out>/work/<ID>, the same path on every run, so a firewall prompt
appears once per title; its relink.log is copied into the run's folder.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Report the last process's exit code after LoadExec on Windows, keep the batch when one package cannot be prepared, write summary.json after each title, default --out to build/title-runs, skip non-object summary lines, drop inherited shader cache variables.
Co-Authored-By: Claude Opus 5.5 <[email protected]>