Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3DS:Error screens/Luma3DS exception screen: Difference between revisions

Guide to the CFW error handler
(add simplified ARM exception documentation to →‎Reading a Luma3DS exception screen: , reword out-of-region game errors)
m (whoops, had the external link syntax backwards)
Line 7: Line 7:
**'''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.
**'''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.
**'''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 https://developer.arm.com/documentation/ddi0201/d] and [ARM11 https://developer.arm.com/documentation/ddi0360/f) CPUs, as follows:
* '''Exception type:''' The type of fault that caused the exception. These categories correspond to the ARM exceptions for the [https://developer.arm.com/documentation/ddi0201/d ARM9] and [https://developer.arm.com/documentation/ddi0360/f) 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.
**'''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''': Caused by an attempt to execute an invalid CPU instruction. Often related to conflicts between CFW and other software.

Revision as of 01:35, 15 January 2024

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

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:

Luma3DS exception.png
  • 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 boot.firm (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 Nintendo User Interface Shell, 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 E0E01BF5, boot.firm is guaranteed to be too outdated to work.

Known Errors

In the following list, the file prefixes on file paths refer to the starting location. sd:/ refers to the SD card, and numbers in the format of [X:] refer to GodMode9's drive numbers.

Info icon If the below fixes do not solve your issue or you are unsure of what to do, join the Nintendo Homebrew Discord for further assistance.

Arm9

Arm9 errors are sorted by their exception type.

Error On Boot

Any Type
  • Files on the SD are corrupted.
  • A system save located on the NAND in [1:]/data has a problem.
  • System-unique files are missing from the NAND in [1:]/rw/sys.
data abort
  • The shared2 folder in [2:] SYSNAND TWLN is missing.
    • To fix, create this folder.
  • System titles have been deleted.
prefetch abort (svcBreak)
  • The system movable, [1:]/private/movable.sed, is 288 bytes but a flag is enabled that expects a size of 320 bytes.
    • To fix, boot into GodMode9 and select SYSNAND CTRNAND, then go into the private folder.
      Inside this folder, you will see a file named movable.sed. Select it, and under the options menu, select Show in Hexeditor.
      Green-colored numbers will appear in the middle of the screen - press A and then unlock writing to sysNAND (lvl2).
      At the beginning of the file, look for the set of numbers 53 45 45 44 00 01. Once you find these numbers, hold A and press D-PAD DOWN while the 01 value is highlighted to change it to 00. Press B, then A, then B to save changes and exit from the hexeditor, then press START to reboot your console.
  • SYSNAND CTRNAND has bad CMACs.
    • To fix, press R+A on the SYSNAND CTRNAND drive and Fix CMACs for drive. The console will act like it has been formatted after this, and this is intended.
  • If none of the above have worked, perform a Manual CTRTransfer.
prefetch abort (kernel panic)
  • The console likely has a hardware issue.
undefined instruction
  • The console likely has a hardware issue.

Error During Use

data abort

Arm11

All Arm11 errors are sorted by their current process.

Error On Boot

boss
fs
hid
  • Potential hardware problems, or an outdated version of Rehid.
    • First look for and delete /luma/titles/0004013000001D02 and /luma/titles/0004013000003302. If these don't exist, or you've never downloaded Rehid, it's likely hardware issues.
ic2/spi


mset
  • System Settings is broken in some way - this may indicate that the console has a hardware issue.
menu
  • data abort
    • The installed theme is corrupted or otherwise broken.
      • To fix, go into the folder sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/ and delete the folder matching your region, one of the following:
      USA: 000002cd
      EUR: 000002ce
      JPN: 000002cc
    • The HOME Menu's extra data is corrupted.
      • To fix, go into the folder sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/ and delete the folder matching your region, one of the following:
      USA: 0000008f
      EUR: 00000098
      JPN: 00000082
      KOR: 000000A9
    • An installed application is corrupted or otherwise broken.
  • prefetch abort
    • An installation of menuhax is conflicting with the custom firmware.
    • If this occurs on boot, enable hbmenu autoboot in the Luma configuration menu to 3DS mode, then follow above instructions
      • Ensure in sd:/luma/config.ini that hbldr_3dsx_titleid is set to 000400000d921e00 and boot.3dsx is in the root.
      • Turn hbmenu autoboot back off when menuhax67 is removed
  • prefetch abort (svcBreak)
    • The f000000b folder in SYSNAND CTRNAND is broken, its exact location being at [1:]/data/<ID0>/extdata/00048000/f000000b.
      • To fix, backup f000000b by pressing R+A while highlighting it, then selecting Copy to 0:/gm9/out. Once it is backed up, delete the folder. If this does not fix the issue, copy the folder back where it was.
ns
  • The Luma configuration setting Autoboot Homebrew is set to boot to a title that does not exist.
    • To fix, disable the option or install an application that matches the title ID set in sd:/luma/config.ini.
nwm
  • The WiFi chipset's hardware is damaged or dead.
    • To fix, replace the WiFi chipset with a new one. To avoid the error until then, disable WiFi on the 3DS and do not turn it back on.
      • If the 3DS is an old model, you can disable WiFi with an external switch. New models must instead disable it through the HOME Menu Settings or Rosalina. Repeatedly pressing the keycombo for Rosalina while powering on might let you access Rosalina before it can crash.
pm
  • The installed version of Luma3DS likely does not support the current firmware version. This is guaranteed to be true if the contents of R0 are E0E01BF5.

Error During Use

3dsx_app
  • The .3dsx file you opened is corrupted.
    • To fix, download a new copy of the .3dsx file. If this error happens when you open the Homebrew Launcher, download a new copy of boot.3dsx.
      If the error still happens, test your SD for errors.
app/CtrApp
  • If not prefetch abort (svcBreak): The app you last opened is trying to use broken software.
    • To fix, disable all game mods, cheat codes, and plugins to ensure they are not the cause.
      If the error still happens, then the game itself is likely faulty. If it is a system app, perform a CTRTransfer. Otherwise, if it is a cartridge dump, redump it, if it is an eShop game, click the Repair button at the bottom of its eShop page or delete and reinstall it, or if it is a cartridge, clean the cartridge and the 3DS cartridge reader with isopropyl alcohol.
  • If prefetch abort (svcBreak): The app you are trying to open is out-of-region and relies on locale-specific data. Activate locale emulation for it.
GARDEN

Animal Crossing's game data or savedata is having issues.

  • To fix, disable all game mods, cheat codes, and plugins to ensure they are not the cause. If the error still happens, then the game itself may be faulty. If it is a cartridge dump, redump it, if it is an eShop game, click the Repair button at the bottom of its eShop page or delete and reinstall it, or if it is a cartridge, clean the cartridge and the 3DS cartridge reader with isopropyl alcohol.
    • If the error yet still happens, ensure that you have not used a save editor before the error started happening. If you have used a save editor, the edits are broken and you will need to restore a backed-up save, or wipe the save and start over if you have no backup.
fs
Kujira/Joker/niji_loc
  • The app you last opened has an issue of some kind.
    • To fix, disable all game mods, cheat codes, and plugins to ensure they are not the cause. If the error still happens, ensure the game is the same region as the console - if it is not, activate locale emulation for the game.
      • If the error yet still happens, then the game itself is likely faulty. If it is a cartridge dump, redump it. If it is an eShop game, click the Repair button at the bottom of its eShop page or delete and reinstall it. If it is a cartridge, clean the cartridge and the 3DS cartridge reader with isopropyl alcohol.
loader
  • The app you last opened has an issue. If the contents of R0 start with C or D, R0 is an error code.
    • Most of the possible error codes for this are listed on this page.
mset
  • System Settings is broken in some way - this may indicate that the console has a hardware issue.
nwm
  • The WiFi chipset's hardware is damaged or dead.
    • To fix, replace the WiFi chipset with a new one. To avoid the error until then, disable WiFi on the 3DS and do not turn it back on.
      • If the 3DS is an old model, you can disable WiFi with an external switch. New models must instead disable it through the HOME Menu Settings or Rosalina. Repeatedly pressing the keycombo for Rosalina while powering on might let you access Rosalina before it can crash.
qtm/cam
  • The camera's hardware is damaged or dead.
    • To fix, replace the camera with a new one. To avoid the error until then, disconnect the camera or avoid using anything that activates the camera.