Troubleshooting
Errors and crash reports
The error dialog after a game error, Atmosphère crash reports, and the crashes found and fixed so far.
On this page
When a game stops with an error
Ren’Py shows its own exception screen first. Choose Quit there. The runtime then shows the system error dialog:
The game stopped with an error.
Its Details page names the files to read:
Ren'Py stopped with status 1. Details are in traceback.txt, log.txt and
python.txt in sdmc:/switch/renpy-loader/logs/<id>, and in
sdmc:/switch/renpy-loader/logs/runtime.log.Close the dialog and you are back in the library. In run 25 this path worked without a crash; in runs 23 and 24 the same path had crashed, because it used the text console after the graphics were shut down.
Start with traceback.txt: the last lines say what went wrong. Typical causes are in Common problems.
When a thread is stuck
If one of the game’s threads is still running when Python shuts down, the runtime closes the software instead of returning to the loader, again with the system error dialog. Returning with a thread still running crashed the next game in run 22.
Atmosphère crash reports
When the software crashes outright (“The software was closed because an error occurred”), Atmosphère writes a report to:
sdmc:/atmosphere/crash_reports/<time>_<program id>.logThe program id of homebrew started by title override is the game’s whose title you held R on. A report from the Album applet, 010000000000100D, means the crash happened in applet mode. To read the stack against the code, rebuild the matching .elf from the same commit and resolve the addresses with addr2line; that is how runs 8 and 22 were traced.
Fetch the reports over FTP: sphaira’s server shows /atmosphere/crash_reports/. See Fetch logs over FTP.
Crashes found and fixed
| Run | Symptom | Cause | Fixed |
|---|---|---|---|
| 8, 26 | Whole console crashes, game in applet mode | [Likely] not enough memory, and Mesa does not check a failed allocation | Games refused in applet mode (run 27) |
| 9 | Loader crashes 21 s after a game | SDL’s timer thread outlived the runtime | Run 10 |
| 10–11 | Exit to the Homebrew Menu after a game crashes sphaira | Exited threads’ stacks stayed mapped | Every pthread tracked and closed (run 12) |
| 22–23 | Second game crashes after a long first game with music | A Ren’Py audio decode thread waited forever at exit | Finished streams closed at exit (run 24) |
| 23–24 | Crash on the error exit path | The text console was used after the graphics shut down | System error dialog (run 25) |
Known workaround: if anything goes wrong on the way back to the library, close the software from HOME.