Skip to content
Wolfvak edited this page Apr 20, 2018 · 1 revision

Due to GodMode9's popularity and ever-growing feature list, bugs and regressions pop up every now and again.

This is not intended as a full document on how to report issues, but rather a set of guidelines to follow when doing so.

Bug types

There's 3 main types of bugs: unintended behavior, aborts and regressions.

Unintended behavior: This is by far the most common situation, where a function fails in some way or another. There may not even be a warning that said function has failed, but its output is either garbage or undefined in some other way. For example, decrypting data with incorrect keys can trigger this behavior.

Aborts: These happen whenever GM9 attempts to access an invalid memory address, most likely caused by a programming flaw or malformed input. They always generate an abort information dump which contains the GM9 version, timestamp, register, stack and code contents near SP and PC at the time of the abort. In case there's no device that can read QR codes handy, the abort dump is also saved to disk.

Regressions: These are actually a subset of the above and are distinguished in that the feature that doesn't currently work, either worked on a previous GM9 version or worked on different hardware (not necessarily different hardware model).

What to include on an issue report

Always include data like GM9 version, hardware model, entrypoint used, SD card used (if applicable), etc.

All bug reports must be reproducible under sane circumstances. Doing crazy stuff like replacing NAND chips with SD cards is not guaranteed to be supported. If it's triggered by specific data input which can't be shared, then the best places to discuss it are #GodMode9 @ freenode or the GodMode9 Discord server.

If the bug is a regression, there should always be a "latest good version" (newest GM9 version where it worked fine) and "earliest bad version" (oldest version that's known to be broken) in the report.

If an abort information dump is generated, make sure to attach it as a file.

Clone this wiki locally