User:ItsCrocoSwine/3DS Error toolkit

=Luma3DS Error Toolkit=

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.

On both stock and custom firmware, apps can cause error codes if they run into a non-fatal issue. In the below tables, error codes are separated into sets by their section (e.g. 007-XXXX) and then sorted within their sets in ascending order by their result code (e.g. XXX-2001).

Known errors

 * -|Arm9=

Error On Boot

Error During Use


 * -|Arm11=

Error On Boot

Error During Use


 * -|ErrDisp=

ErrDisp


 * -|Error codes=

=Reading error screens=

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 are usually raised because of 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 more often related to broken software or user data.
 * Exception type: The type of fault that caused the exception. These categories correspond to the ARM exceptions for the ARM9 and ARM11 CPUs, as follows:
 * data abort: Caused by a read or write to an invalid part of memory. Usually related to game mods/cheats/plugins, broken HOME Menu data, and/or broken CFW applications.
 * prefetch abort: Caused by an attempt to execute an invalid CPU instruction. Often related to conflicts between CFW and other software.
 * prefetch abort (svcBreak): Caused by either Process9 or homebrew software manually terminating code because it matched a pre-defined condition. Often related to errors in NAND data, even when raised by Arm11. Can also happen when launching an out-of-region game that isn't locale emulated.
 * prefetch abort (kernel panic): Caused by Kernel9 detecting an unrecoverable fatal error and forcibly shutting down to avoid damage. Can be related to any of several things, but hardware issues are the most likely.
 * undefined instruction: Caused by an attempt to execute a CPU instruction that was unimplemented, disallowed, or unusable. Often related to software not having the required files (if not on boot) or an outdated  (if on boot).
 * Fault status: The specific type of ARM exception that was raised. Helpful for developers, but not so much for the end user.
 * 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

=Sources= 3DS:Error codes 3DS:Error screens/Luma3DS exception screen 3DS:Error screens/Luma3DS ErrDisp

This page is up to date as of 16 JAN 2024