User:ItsCrocoSwine/3DS Error toolkit

=Luma3DS Error Toolkit=

On both stock and custom firmware, apps can cause errors if they run into a non-fatal issue.

This page lists possible causes and fixes of Luma3DS exception screens, ErrDisp screens, and stock error codes. They are not applicable to every situation, but cover most common known issues.

In the following lists, the file prefixes on file paths refer to the starting location. refers to the SD card, and numbers in the format of  refer to GodMode9's drive numbers.

If your ErrDisp displays one of the processes in the first table, you do not need to look up its error code in the second one. The solutions for these processes are almost always the same.

Known errors

 * -|Arm9=

Error On Boot

Error During Use


 * -|Arm11=

Error On Boot

Error During Use


 * -|ErrDisp=

ErrDisp


 * -|Error codes=

Reading a Luma3DS exception screen
A Luma3DS exception has four (or five, in a few cases) different parts to it that help in finding its cause, as follows:
 * Processor: What part of the system is causing the exception. The two processors are:
 * Arm9: The 'security processor' of the system. These exceptions usually result from errors in NAND data or hardware faults in either the 3DS or its SD card.
 * Arm11: The 'userland' of the system. These exceptions have numerous causes but are often related to broken software or user data.
 * Exception type: How the system is causing the exception. These categories are often too broad to be helpful, but three of them are more precise:
 * data abort: Oftentimes related to a broken mod or broken HOME Menu data. Occasionally related to custom firmware data being broken.
 * prefetch abort (svcBreak): Oftentimes an issue with data on the NAND, even when Arm11. Can also happen when launching an out-of-region game.
 * undefined instruction: Usually either a broken piece of software (if not on boot) or outdated  (if on boot).
 * Fault status: Why the system is causing the exception. Normally not helpful except for developers.
 * Current process: Where the error is coming from in the system. Often the most helpful part of the exception. Some examples of processes are as follows:
 * fs: The filesystem, i.e. either the SD card or the NAND.
 * menu: Data that is opened either as a part of the HOME Menu or at the same time as it.
 * loader: The service that opens apps, meaning the app you last tried to open has an issue.
 * nwm: Networking services, almost always WiFi.
 * ns: The N intendo User Interface S hell, which handles all apps/processes/services in 3DS mode.
 * R0: Usually just internal data that's not worth reading. There are two notable exceptions, however:
 * Arm11 loader exception: If R0's contents start with a C or D, R0 is an error code. This code usually gives the exact cause of the issue.
 * Arm11 pm exception: If R0's contents are,   is guaranteed to be too outdated to work.

Reading a Luma3DS ErrDisp
With Luma3DS insa ErrDisp error has several parts, but only two of them help in finding its cause. They are as follows:
 * Process name: The part of the system that is triggering the error. Can be helpful if the error code is generic.
 * Error code: The specific reason the error occurred. This is almost always the most helpful part of the error.

Reading an error code
An error code has two parts - the code itself, and its official description. For this page, only the code matters