crash_test.py improvements - #1997
Conversation
Limits it to a rudimentary check that a crash dump is produced, without generating symbols or analyzing the dump.
Each diff chunk here stands as a separate patch but let's avoid commit spam for a script no one cares about. - Increase NaCl timeout - Check existence of crash_server - Fix exception printing for Python < 3.10 - Fix interleaved stackwalk stdout and stderr (due to wrong truncate call) - Add Mac release support: there is no Breakpad, but the NaCl crash tests can run successfully (even through Rosetta!)
Report missing function and/or file names from Breakpad stack walk but pass the test if just 1 is present.
| "-homepath", self.dir, | ||
| "-set", "vm.sgame.type", vmtype, | ||
| "-set", "vm.cgame.type", vmtype, | ||
| "-set", "vm.timeout", "30", # in case of emulator |
There was a problem hiding this comment.
As a side note, in my branch implementing box64 support I also increase this in engine directly.
I don't see why this timeout should be short: the time is only waited when the game is slow to start, and if it's slow to start but not failing, we should not give up. Previously I faced the same timeout problem when running the game on a network file system over a very slow network where it was slow but not failing (that may have been what prompted the introduction of the cvar). When the system is not slow, the delay is never experienced, and when the system is slow, there is no other solution than waiting and it's fine.
There was a problem hiding this comment.
How could a slow network cause that? The VM process can't do any I/O other than IPC messages.
There was a problem hiding this comment.
That timeout also counts the time between execing the nacl_loader with the nexe and the first actual response from the running nexe on IPC, or something like that. So the timeout counts for all the nacl_runtime and nexe to be read (if slow file system…), then counts for the compatibility layer (box64, rosetta2…) to initialize itself or even do some magic processing on the binaries, etc.
No description provided.