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
m (rewrite cmac flag instructions for additional clarity and idiot-proofing, then match visual style to the rest of the page)
(LayeredFS is not the right word here)
 
(35 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{shortcut|3DS:EXC}}
{{shortcut|3DS:EXCEPTION}}
This page lists possible causes and fixes of Luma3DS exception screens. They are not applicable to every situation, but cover most common known issues.
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==
 
== 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:
A Luma3DS exception has four (or five, in a few cases) different parts to it that help in finding its cause, as follows:
[[File:Luma3DS_exception.png|center]]
[[File:Luma3DS_exception.png|center]]
* '''Processor:''' What part of the system is causing the exception. The two processors are:
* '''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.
** '''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 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:''' How the system is causing the exception. These categories are often too broad to be helpful, but three of them are more precise:
* '''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''': Oftentimes related to a broken mod or broken HOME Menu data. Occasionally related to custom firmware data being broken.
** '''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 (svcBreak)''': Oftentimes an issue with data on the NAND, even when Arm11. Can also happen when launching an out-of-region game.
** '''prefetch abort''': Caused by an attempt to execute a CPU instruction that was marked as invalid. Often related to conflicts between CFW and other software.
**'''undefined instruction''': Usually either a broken piece of software (if not on boot) or outdated <code>boot.firm</code> (if on boot).  
** '''prefetch abort (svcBreak)''': Caused by either Process9 or homebrew software manually halting because it tripped a pre-defined error condition. Often related to damage to NAND data, even when raised by Arm11. Can also happen when launching an out-of-region game that isn't [[3DS:SGL|locale emulated.]]
*'''Fault status:''' Why the system is causing the exception. Normally not helpful except for developers.
** '''prefetch abort (kernel panic)''': Caused by Kernel9 detecting an unrecoverable error and forcibly halting to avoid causing damage. Can be related to any of several things, but hardware issues are the most likely.
*'''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:
** '''undefined instruction''': Caused by an attempt to execute a CPU instruction that was unimplemented, disallowed, or unusable. Often related to software missing its required files (if not on boot) or an outdated <code>boot.firm</code> (if on boot).  
**'''fs''': The filesystem, i.e. either the SD card or the NAND.
* '''Fault status:''' The specific type of ARM exception that was raised. Helpful for developers, but not so much for the end user.
**'''menu''': Data that is opened either as a part of the HOME Menu or at the same time as it.
* '''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:
**'''loader''': The service that opens apps, meaning the app you last tried to open has an issue.
** '''fs''': The filesystem, i.e. either the SD card or the NAND.
**'''nwm''': Networking services, almost always WiFi.
** '''menu''': Data that is opened either as a part of the HOME Menu or at the same time as it.
*'''R0''': Usually just internal data that's not worth reading. There are two notable exceptions, however:  
** '''loader''': The service that opens apps, meaning the app most recently opened has an issue.
**'''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.
** '''nwm''': Networking services, almost always Wi-Fi.
**'''Arm11 pm exception''': If R0's contents are <code>E0E01BF5</code>, <code>boot.firm</code> is guaranteed to be too outdated to work.
** '''ns''': The <u>N</u>intendo User Interface <u>S</u>hell, which handles all apps/processes/services in 3DS mode.
* '''Registers (R0-R12/SP/LR/PC/CPSR/FPEXC)''': Usually just internal data that's not worth reading, though R0 is the most likely of them to contain useful data. There are certain notable exceptions that aren't mentioned in the list of known errors, however:
** If the value <code>000400??</code> (the ? marks can be any number) appears in any of the registers, it likely refers to the first half of a title ID - check the value of the register after it to ensure this. If it is a title ID, it can be used to narrow down the original cause of an error.
** If the value of any register starts with the letter C, D, E, or F (even if it isn't in R0) and doesn't look completely random, it may be an error code - this is more likely if the value starts with C or D. You may want to check it manually, as if it is an error code, it can likely help in troubleshooting.


==Known Errors==
== Known Errors ==
In the following lists, the file prefixes on file paths refer to the starting location. <code>sdmc:/</code> refers to the SD card, and numbers in the format of <code>[X:]</code> refer to GodMode9's drive numbers.
 
{{info|If the below fixes do not solve your issue or you are unsure of what to do, join the [[https://discord.gg/nintendohomebrew Nintendo Homebrew Discord]] for further assistance.}}
In the following list, the file prefixes on file paths refer to the starting location. <code>sd:/</code> refers to the SD card, and numbers in the format of <code>[X:]</code> refer to GodMode9's drive numbers.
{{info|If the below fixes do not solve your issue or you are unsure of what to do, join the [https://discord.gg/C29hYvh Nintendo Homebrew Discord] for further assistance.}}
----
----
Select which processor the error says it comes from.
<tabber>
|-|Arm9=


<span style="font-size:175%; display:flex; justify-content:center">Error On Boot</span>
=== <big>Arm9</big> ===
{| class="wikitable" style="margin: auto"
 
! style="font-size:125%;" | Exception Type
Arm9 errors are sorted by their '''exception type'''.
! style="font-size:125%;" | Problem & Solution
 
|-
<span style="font-size:175%; display:flex; justify-content:center"><h4>Error On Boot</h4></span>
| rowspan="3" | Any
 
| Files on the SD are corrupted.  
<h5>Any Type</h5>
:To fix, [[Checking_SD_card_integrity|verify that your SD card is not faulty.]] If it is verified working, make a backup of all intact files, [[Formatting_an_SD_card|format the SD card]], and try booting again.
* Files on the SD are corrupted.  
|-
** To fix, [[Checking_SD_card_integrity|verify that the SD card is not faulty.]] If it is verified working, make a backup of all intact files, [[Formatting_an_SD_card|format the SD card]], and try booting again.
| A system save located on the NAND in <code>[1:]/data</code> has a problem.
* A system save located on the NAND in <code>[1:]/data</code> has a problem.
|-
* System-unique files are missing from the NAND in <code>[1:]/rw/sys</code>.
| System-unique files are missing from the NAND in <code>[1:]/rw/sys</code>.
 
|-
<h5>data abort</h5>
| rowspan="2" | data abort
* The <code>shared2</code> folder in <code>[2:] SYSNAND TWLN</code> is missing.  
| The <code>shared2</code> folder in <code>[2:] SYSNAND TWLN</code> is missing.  
** To fix, create this folder.
:To fix, create this folder.
* System titles have been deleted.
|-
** To fix, perform a [[3DS:Safe Mode|Safe Mode update]]. If this does not work, perform a [[3DS:CTRTransfer|CTRTransfer]].
| System titles have been deleted.
 
:To fix, perform a [[3DS:Safe Mode|Safe Mode update]].<br>If this does not work, perform a [[3DS:CTRTransfer|CTRTransfer]].
<h5>prefetch abort (svcBreak)</h5>
|-
* The system movable, <code>[1:]/private/movable.sed</code>, is 288 bytes but a flag is enabled that expects a size of 320 bytes.  
| rowspan="2" | prefetch abort (svcBreak)
** To fix, boot into GodMode9 and select <code>SYSNAND CTRNAND</code>, then go into the <code>private</code> folder.<br>Inside this folder, you will see a file named <code>movable.sed</code>. Select it, and under the options menu, select '''Show in Hexeditor'''.<br>Green-colored numbers will appear in the middle of the screen - press {{B|A}} and then unlock '''writing to sysNAND (lvl2)'''.<br>At the beginning of the file, look for the set of numbers <code>53 45 45 44 00 01</code>. Once you find these numbers, hold {{B|A}} and press {{B|D-PAD DOWN}} while the <code>01</code> value is highlighted to change it to <code>00</code>. Press {{B|B}}, then {{B|A}}, then {{B|B}} to save changes and exit from the hexeditor, then press {{B|START}} to reboot your console.
| The system movable, <code>[1:]/private/movable.sed</code>, is 288 bytes but a flag is enabled that expects a size of 320 bytes.  
* <code>SYSNAND CTRNAND</code> has bad CMACs.
:To fix, boot into GodMode9 and select <code>SYSNAND CTRNAND</code>, then go into the <code>private</code> folder.<br>Inside this folder, you will see a file named <code>movable.sed</code>. Select it, and under the options menu, select '''Show in Hexeditor'''.<br>Green-colored numbers will appear in the middle of the screen - press {{B|A}} and then unlock '''writing to sysNAND (lvl2)'''.<br>At the beginning of the file, look for the set of numbers <code>53 45 45 44 00 01</code>. Once you find these numbers, hold {{B|A}} and press {{B|D-PAD DOWN}} while the <code>01</code> value is highlighted to change it to <code>00</code>. Press {{B|B}}, then {{B|A}}, then {{B|B}} to save changes and exit from the hexeditor, then press {{B|START}} to reboot your console.
** To fix, press R+A on the <code>SYSNAND CTRNAND</code> drive and <code>Fix CMACs for drive</code>. The console will act like it has been formatted after this, and this is intended.
|-
*If none of the above have worked, perform a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]].
| <code>SYSNAND CTRNAND</code> has bad CMACs.
 
:To fix, press R+A on the <code>SYSNAND CTRNAND</code> drive and <code>Fix CMACs for drive</code>. The console will act like it has been formatted after this, and this is intended.
<h5>prefetch abort (kernel panic)</h5>
|-
* The console likely has a hardware issue.
| prefetch abort (kernel panic)
 
| The console likely has a hardware issue.
<h5>undefined instruction</h5>
|-
* The console likely has a hardware issue, or corrupted sysmodules. Try performing a [[3DS:CTRTransfer|CTRTransfer]] to see if it resolves the issue.
| undefined instruction
 
| The console likely has a hardware issue.
<span style="font-size:175%; display:flex; justify-content:center"><h4>Error During Use</h4></span>
|}
 
<h5>data abort</h5>
* Files on the SD are corrupted.
** To fix, [[Checking_SD_card_integrity|verify that your card is not faulty.]] If it is verified working, make a backup of all intact files, [[Formatting_an_SD_card|format the SD card]], and try again.
 
=== <big>Arm11</big> ===
 
All Arm11 errors are sorted by their '''current process'''.
 
<span style="font-size:175%; display:flex; justify-content:center"><h4>Error On Boot</h4></span>
 
<h5>act</h5>
* Your NNID(s)' stored data is misconfigured or being interfered with.
** To fix, if [https://pretendo.network Pretendo] is installed, turn it off by disabling <code>Enable loading external FIRMs and modules</code> on [[3DS:Luma3DS/Configuration|the Luma configuration menu]].
*** If this does not help or Pretendo is not installed, then [[3DS:GodMode9/Usage#Restoring_a_NAND_backup|restore a NAND backup]] - especially if you recently tried to [[3DS:GodMode9/Usage#Removing_an_NNID_without_formatting_your_device|log out an NNID]].
 
<h5>boss</h5>
* The current firmware version is too old for SpotPass to work. Perform a [[3DS:Safe Mode|Safe Mode update]].
** If this does not work, you may require [[3DS:CTRTransfer|a CTRTransfer.]]
 
<h5>camera</h5>
* Potential hardware issues, or an instance of ShutTheCamUp is crashing.
** Look for and delete <code>/luma/sysmodules/0004013000001602.ips</code> and <code>/luma/titles/0004013000001602/code.ips</code>.
*** If this fixed the issue, then [[3dsguide:restoring-updating-cfw|update Luma3DS]] and reinstall the correct Old or New 3DS patch for [[udb:3ds/shut-the-cam-up|ShutTheCamUp]] if you wish to continue using it.
*** If these don't exist, or the error occurs when booting without an SD card, it's likely hardware issues. Join the [https://discord.gg/nintendohomebrew Nintendo Homebrew Discord] and ask, in English, for help.
 
<h5>cfg</h5>
* Either the NAND [[3dbrew:Config Savegame|config savegame]] or part of your console-unique file(s) is damaged.
** To fix, first boot into GodMode9, press R+A while the cursor is on the folder <code>[1:]/data/<ID0>/sysdata/00010017</code>, choose to <code>Copy to 0:/gm9/out</code>, then delete the folder. After rebooting, the console will enter initial setup again; this is intended and not an issue.
*** If this does not help, delete the newly created <code>00010017</code> and copy the backup into its place, run [[3DS:ctrcheck|ctrcheck]], and replace any console-unique files marked as invalid or missing with the copies from the <code>essentials.exefs</code> backup inside <code>[S:] SYSNAND VIRTUAL</code> in GodMode9.
 
<h5>fs</h5>
* Could be an SD card problem, minor NAND problem, hardware issue, or anything in between.
** [[wikipedia:Fault isolation|Fault isolation]] will likely be required to find the true cause of this error. Start by doing [[3DS:ctrcheck|ctrcheck]] and trying to trigger the error with the SD card removed from the console.<br>If the error stops when the SD card is removed, [[Formatting an SD card|reformat the SD card]], and if that doesn't help, [[Checking SD card integrity|test it for hardware damage]].
 
<h5>hid</h5>
* Potential hardware problems, or an instance of rehid is crashing.
** First look for and delete <code>/luma/titles/0004013000001D02</code>, <code>/luma/titles/0004013000003302</code>, <code>/luma/sysmodules/0004013000001D02.cxi</code> and <code>/luma/sysmodules/0004013000003302.ips</code>.
*** If this fixed the issue, then [[3dsguide:restoring-updating-cfw|update Luma3DS]] and reinstall the latest release of [[3DS:Rehid|rehid]] to continue using it.
*** If these don't exist, or rehid has never been installed on this console, it's likely hardware issues. [[3DS:Hardware test|3ds_hw_test]] or [[3DS:ctrcheck|ctrcheck]] may help with fault isolation.
 
<h5>i2c/gsp/mcu/pxi/spi/</h5>
* The console has a serious hardware issue that is likely not easily fixable.
** Run [[3DS:Hardware test|3ds_hw_test]]. If the test returns zero errors detected, join [https://discord.gg/C29hYvh the Nintendo Homebrew Discord] and ask, in English, for help.
 
<h5>loader</h5>
* <h6>prefetch abort (svcBreak)</h6>
**The code or sysmodule patch Luma3DS tried to load is invalid or corrupt.
***To fix: Redownload any recently installed patches (eg. Nimbus (Pretendo), Wumiibo, or anything else that goes in <code>/luma/titles</code> or <code>/luma/sysmodules</code>.) Alternatively, you may disable <code>loading external FIRMs and modules</code> as well as <code>Enable game patching</code> in the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]].
 
<h5>mset</h5>
* System Settings is broken in some way - this may indicate that the console has a hardware issue.
** To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work.
*** If neither of these work, the console has a serious issue. Join the [https://discord.gg/C29hYvh Nintendo Homebrew Discord] and ask, in English, for help.
 
<h5>menu</h5>
* <h6>data abort</h6>
** The installed [[3DS:Custom themes|theme]] is corrupted or otherwise broken.
*** To fix, go into the folder <code>sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/</code> and delete the folder matching your region, one of the following:
**: USA: <code>000002cd</code><br>EUR: <code>000002ce</code><br>JPN: <code>000002cc</code>
** The HOME Menu's extra data is corrupted.
*** To fix, go into the folder <code>sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/</code> and delete the folder matching your region, one of the following:
**: USA: <code>0000008f</code><br>EUR: <code>00000098</code><br>JPN: <code>00000082</code><br>KOR: <code>000000A9</code>
** An installed application is corrupted or otherwise broken.
*** To fix, either perform a [[3DS:Safe Mode|Safe Mode update]], attempt to enter System Settings before the crash occurs and delete the application in Data Management, or [[Formatting an SD card|reformat the SD card]].
* <h6>prefetch abort</h6>
** An installation of Menuhax is conflicting with the custom firmware.
*** To fix, follow the directions [[3DS:Troubleshooting/removing_menuhax67|on this page]].
**If this occurs on boot, set '''Hbmenu autoboot''' in the [[3DS:Luma3DS/Configuration|Luma configuration menu]] to 3DS, then follow the above instructions and turn '''Hbmenu autoboot''' back off once it has been removed.
***Ensure in <code>sd:/luma/config.ini</code> that hbldr_3dsx_titleid is set to 000400000d921e00 and <code>boot.3dsx</code> is in the root.
* <h6>prefetch abort (svcBreak)</h6>
** If <code>R5</code> contains <code>D900458B</code>: The <code>f000000b</code> folder in <code>SYSNAND CTRNAND</code> is broken, its exact location being at <code>[1:]/data/<ID0>/extdata/00048000/f000000b</code>.
*** To fix, backup <code>f000000b</code> by pressing R+A while highlighting it, then selecting <code>Copy to 0:/gm9/out</code>. Once it is backed up, delete the folder. If this does not fix the issue, copy the folder back where it was.
**System titles are missing. Perform a [[3DS:Safe Mode|Safe Mode update]].
**If you have a recent NAND backup, try restoring it with [[3DS:GodMode9/Usage#Restoring_a_NAND_backup|this guide]]
 
<h5>ns</h5>
* The [[3DS:Luma3DS/Configuration|Luma configuration]] setting '''Hbmenu autoboot''' is set to boot to a title that does not exist.
** To fix, disable the option, install an application with the title ID in <code>sd:/luma/config.ini</code>, or change the set title ID to match an application that does exist.
 
<h5>nwm</h5>
* 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 using an external switch. New models do not have this switch 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.
 
<h5>pm</h5>
* 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 <code>E0E01BF5</code>.
** To fix, [[3dsguide:restoring-updating-cfw|update CFW.]]
 
<span style="font-size:140%; display:flex; justify-content:center"><h4>Error During Use</h4></span>
 
<h5>3dsx_app</h5>
* The <code>.3dsx</code> file that was most recently opened is corrupted.
** To fix, download a new copy of the <code>.3dsx</code> file. If this error happens when opening the Homebrew Launcher, download a new copy of <code>boot.3dsx</code>.
**: If the error still happens, [[Checking SD card integrity|test the SD card for errors.]]
 
<h5>app/CtrApp</h5>
* If not <code>prefetch abort (svcBreak)</code>: The app most recently 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, [[3DS:CTRTransfer|perform a CTRTransfer]]. Otherwise, if it is a [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|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 <code>prefetch abort (svcBreak)</code>: The app most recently opened is out-of-region and relies on locale-specific data. Activate [[3DS:SGL|locale emulation]] for it.
 
<h5>GARDEN</h5>
* 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 [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|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.
 
<h5>fs</h5>
* Could be an SD card problem, minor NAND problem, hardware issue, or anything in between.
** [[wikipedia:Fault isolation|fault isolation]] will likely be required to find the true cause of this error. Start by doing [[3DS:ctrcheck|ctrcheck]] and trying to recreate the error without the SD card inserted.<br>If the error stops after the SD card is removed, [[Formatting an SD card|reformat the SD card]], and if that doesn't help, [[Checking SD card integrity|test it for hardware damage]].
 
<h5>Kujira/Joker/niji_loc</h5>
* The app most recently 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, [[3DS:SGL|activate locale emulation for the game.]]
*** If the error yet still happens, then the game itself is likely faulty. If it is a [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|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.
 
<h5>loader</h5>
 
* <h6>undefined instruction</h6>
** The app most recently opened has an issue. If the value of R0 starts with C or D, it is an error code, and has a chance of being an error code if the value starts with E or F. Here are some common values for R0:
*** <code>D9004587</code>: When trying to open a game: The game is corrupted, or it's seed is not imported.
**** See: [[3DS:Fixing corrupted games]]
*** <code>C8804478</code>: If trying to open the Homebrew Launcher: <code>boot.3dsx</code> is missing from the root of your SD card.
**** To fix: Download the latest Homebrew Launcher from [https://github.com/devkitPro/3ds-hbmenu/releases/latest here]
*** <code>D96077FA</code>/<code>FFFFFFFF</code>: The <code>.3dsx</code> that Luma3DS tried to load is corrupted.
**** To fix, redownload the app you are trying to launch. If this happens when you try to open the Homebrew Launcher itself, see the error above.
*** Most of the other possible error codes that can appear here are listed on [[3DS:Error_screens/Luma3DS_ErrDisp|the ErrDisp page]].
* <h6>prefetch abort (svcBreak)</h6>
**The code or sysmodule patch Luma3DS tried to load is invalid or corrupt.
***To fix: Redownload any recently installed patches (eg. Nimbus (Pretendo), Wumiibo, or anything else that goes in <code>/luma/titles</code> or <code>/luma/sysmodules</code>.) Alternatively, you may disable <code>loading external FIRMs and modules</code> as well as <code>Enable game patching</code> in the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]].
 
<h5>mset</h5>
* '''If not caused in Nintendo DS Profile:''' System Settings is broken in some way - this may indicate that the console has a hardware issue.
** To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work.
*** If neither of these work, the console has a serious issue. Join the [https://discord.gg/nintendohomebrew Nintendo Homebrew Discord] and ask, in English, for help.
* '''If caused in Nintendo DS Profile:''' Your NVRAM is either corrupted or damaged in hardware. Run [[3DS:ctrcheck|ctrcheck]] - if its results do not include <code>Critical: NVRAM is inaccessible</code>, then follow [[3DS:NVRAM|the Fix NVRAM guide]].


<span style="font-size:175%; display:flex; justify-content:center">Error During Use</span>
<h5>nwm</h5>
{| class="wikitable" style="margin: auto" 
* The WiFi chipset's hardware is damaged or dead.
! style="font-size:125%;" | Exception Type
** 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.
! style="font-size:125%;" | Problem & Solution
*** 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.
|-
| data abort
| Files on the SD are corrupted.  
:To fix, [[Checking_SD_card_integrity|verify that your card is not faulty.]] If it is verified working, make a backup of all intact files, [[Formatting_an_SD_card|format the SD card]], and try again.
|}


|-|Arm11=
<h5>pxi</h5>
* Could be anything from a faulty cartridge to damaged internal components, but will almost always be some type of hardware issue.


<span style="font-size:175%; display:flex; justify-content:center">Error On Boot</span>
<h5>pm</h5>
{| class="wikitable" style="margin: auto"
* The software you have launched may be missing required files. If the value in R0 is <code>E0E01BF5</code>, this is extremely likely to be the cause.
! style="font-size:125%;" | Current Process
! style="font-size:125%;" | Exception Type
! style="font-size:125%;" | Problem & Solution
|-
| boss || data abort
| The current firmware version is too old for SpotPass to work. Perform a [[3DS:Safe Mode|Safe Mode update]].
:If this does not work, you may require [[3DS:CTRTransfer|a CTRTransfer.]]
|-
| fs || any
| Can be anything from SD card problems to hardware issues.
|-
| hid || any
| Potential hardware problems.
|-
| ic2, spi || any
| The console has a serious hardware issue that likely is not easily fixable.
:Join [https://discord.gg/C29hYvh the Nintendo Homebrew Discord] and ask, in English, for help.
|-
|-
| mset || any
| System Settings is broken in some way - this may indicate that the console has a hardware issue.
:To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work.
::If neither of these work, the console has a serious issue. Join the [https://discord.gg/C29hYvh Nintendo Homebrew Discord] and ask, in English, for help.
|-
| rowspan="5" | menu
| rowspan="3" | data abort
| Broken HOME Menu theme.
:To fix, go into the folder <code>sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/</code> and delete the folder matching your region, one of the following:
::USA: <code>000002cd</code><br>EUR: <code>000002ce</code><br>JPN: <code>000002cc</code>
|-
| Broken HOME Menu extra data.
:To fix, go into the folder <code>sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/</code> and delete the folder matching your region, one of the following:
::USA: <code>0000008f</code><br>EUR: <code>00000098</code><br>JPN: <code>00000082</code><br>KOR: <code>000000A9</code>
|-
| Broken HOME Menu application.
:To fix, either perform a [[3DS:Safe Mode|Safe Mode update]], attempt to enter System Settings before the crash occurs and delete the application in Data Management, or [[Formatting an SD card|reformat the SD card]].
|-
| prefetch abort
| An installation of menuhax is conflicting with the custom firmware.
:To fix, place the <code>menuhax67_installer.3dsx</code> file from [[https://github.com/zoogie/menuhax67/releases/download/v1.1/menuhax67_v1.1.zip this download]] into <code>sd:/3ds</code>, run it through Homebrew Launcher, and choose REMOVE.
|-
| prefetch abort (svcBreak)
| The <code>f000000b</code> folder in <code>SYSNAND CTRNAND</code> is broken, its exact location being at <code>[1:]/data/<ID0>/extdata/00048000/f000000b</code>.
:To fix, backup <code>f000000b</code> by pressing R+A while highlighting it, then selecting <code>Copy to 0:/gm9/out</code>. Once it is backed up, delete the folder. If this does not fix the issue, copy the folder back where it was.
|-
| ns || prefetch abort (svcBreak)
| The [[3DS:Luma3DS/Configuration|Luma configuration]] setting <code>Autoboot Homebrew</code> 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 <code>sd:/luma/config.ini</code>.
|-
| nwm || any
| 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 || undefined instruction
| 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 <code>E0E01BF5</code>.
:To fix, [[3dsguide:restoring-updating-cfw|update CFW.]]
|-
|}


<span style="font-size:175%; display:flex; justify-content:center">Error During Use</span>
<h5>qtm/cam</h5>
{| class="wikitable" style="margin: auto"
* The camera's hardware is damaged or dead.
! style="font-size:125%;" | Current Process
** 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.
! style="font-size:125%;" | Exception Type
! style="font-size:125%;" | Problem & Solution
|-
| 3dsx_app || any
| The <code>.3dsx</code> file you opened is corrupted.
:To fix, download a new copy of the <code>.3dsx</code> file. If this error happens when you open the Homebrew Launcher, download a new copy of <code>boot.3dsx</code>.
::If the error still happens, [[Checking SD card integrity|test your SD for errors.]]
|-
| app || any
| 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, then the game itself is likely faulty. If it is a [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|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.
|-
| CtrApp || any
| Broken system software is interfering with the app you last opened.
:To fix, disable all game mods, cheat codes, and plugins to ensure they are not the cause. If the error still happens, [[3DS:Safe Mode|update from Safe Mode]]. If this does not work, [[3DS:CTRTransfer|perform a CTRTransfer]].
|-
| GARDEN || any
| 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 [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|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.
::If the error yet still happens, ensure that you have not used a save editor before the error started happening. If it has been edited, you will need to restore a backup from before its use, or wipe the save and start over if you have no backup.
|-
| fs || any
| Can be anything from SD card problems to hardware issues.
|-
| Kujira<br>Joker<br>niji_loc || any
| 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, [[3DS:SGL|force the game to use the correct region.]]
::If the error yet still happens, then the game itself is likely faulty. If it is a [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|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 || undefined instruction
| The app you last opened has an issue. If the contents of R0 start with C or D, R0 is an error code.<br>
:Most of the possible error codes for this are also listed on [[3DS:Error_screens/Luma3DS_ErrDisp|this page]].
|-
| mset || any
| System Settings is broken in some way - this may indicate that the console has a hardware issue.
:To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work.
::If neither of these work, the console has a serious issue. Join the [[https://discord.gg/nintendohomebrew Nintendo Homebrew Discord]] and ask, in English, for help.
|-
| nwm || any
| 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<br>cam || any
| 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.
|-
|}
</tabber>


<h5>swkbd</h5>
* The software keyboard is broken in some way - this may indicate that the console has a hardware issue.
** To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work.
*** If neither of these work, the console has a serious issue. Join the [https://discord.gg/nintendohomebrew Nintendo Homebrew Discord] and ask, in English, for help.
[[Category:Unbricking]]
[[Category:Unbricking]]
{{Short description|Guide to the CFW error handler}}
{{Short description|Guide to the CFW error handler}}

Latest revision as of 21:21, 6 October 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 a CPU instruction that was marked as invalid. Often related to conflicts between CFW and other software.
    • prefetch abort (svcBreak): Caused by either Process9 or homebrew software manually halting because it tripped a pre-defined error condition. Often related to damage to 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 error and forcibly halting to avoid causing 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 missing its 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 most recently opened has an issue.
    • nwm: Networking services, almost always Wi-Fi.
    • ns: The Nintendo User Interface Shell, which handles all apps/processes/services in 3DS mode.
  • Registers (R0-R12/SP/LR/PC/CPSR/FPEXC): Usually just internal data that's not worth reading, though R0 is the most likely of them to contain useful data. There are certain notable exceptions that aren't mentioned in the list of known errors, however:
    • If the value 000400?? (the ? marks can be any number) appears in any of the registers, it likely refers to the first half of a title ID - check the value of the register after it to ensure this. If it is a title ID, it can be used to narrow down the original cause of an error.
    • If the value of any register starts with the letter C, D, E, or F (even if it isn't in R0) and doesn't look completely random, it may be an error code - this is more likely if the value starts with C or D. You may want to check it manually, as if it is an error code, it can likely help in troubleshooting.

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.

OOjs UI icon information-progressive.svg 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, or corrupted sysmodules. Try performing a CTRTransfer to see if it resolves the issue.

Error During Use

data abort

Arm11

All Arm11 errors are sorted by their current process.

Error On Boot

act
boss
camera
  • Potential hardware issues, or an instance of ShutTheCamUp is crashing.
    • Look for and delete /luma/sysmodules/0004013000001602.ips and /luma/titles/0004013000001602/code.ips.
      • If this fixed the issue, then update Luma3DS and reinstall the correct Old or New 3DS patch for ShutTheCamUp if you wish to continue using it.
      • If these don't exist, or the error occurs when booting without an SD card, it's likely hardware issues. Join the Nintendo Homebrew Discord and ask, in English, for help.
cfg
  • Either the NAND config savegame or part of your console-unique file(s) is damaged.
    • To fix, first boot into GodMode9, press R+A while the cursor is on the folder [1:]/data/<ID0>/sysdata/00010017, choose to Copy to 0:/gm9/out, then delete the folder. After rebooting, the console will enter initial setup again; this is intended and not an issue.
      • If this does not help, delete the newly created 00010017 and copy the backup into its place, run ctrcheck, and replace any console-unique files marked as invalid or missing with the copies from the essentials.exefs backup inside [S:] SYSNAND VIRTUAL in GodMode9.
fs
  • Could be an SD card problem, minor NAND problem, hardware issue, or anything in between.
hid
  • Potential hardware problems, or an instance of rehid is crashing.
    • First look for and delete /luma/titles/0004013000001D02, /luma/titles/0004013000003302, /luma/sysmodules/0004013000001D02.cxi and /luma/sysmodules/0004013000003302.ips.
      • If this fixed the issue, then update Luma3DS and reinstall the latest release of rehid to continue using it.
      • If these don't exist, or rehid has never been installed on this console, it's likely hardware issues. 3ds_hw_test or ctrcheck may help with fault isolation.
i2c/gsp/mcu/pxi/spi/
  • The console has a serious hardware issue that is likely not easily fixable.
loader
  • prefetch abort (svcBreak)
    • The code or sysmodule patch Luma3DS tried to load is invalid or corrupt.
      • To fix: Redownload any recently installed patches (eg. Nimbus (Pretendo), Wumiibo, or anything else that goes in /luma/titles or /luma/sysmodules.) Alternatively, you may disable loading external FIRMs and modules as well as Enable game patching in the Luma3DS configuration menu.
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, set Hbmenu autoboot in the Luma configuration menu to 3DS, then follow the above instructions and turn Hbmenu autoboot back off once it has been removed.
      • Ensure in sd:/luma/config.ini that hbldr_3dsx_titleid is set to 000400000d921e00 and boot.3dsx is in the root.
  • prefetch abort (svcBreak)
    • If R5 contains D900458B: 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.
    • System titles are missing. Perform a Safe Mode update.
    • If you have a recent NAND backup, try restoring it with this guide
ns
  • The Luma configuration setting Hbmenu autoboot is set to boot to a title that does not exist.
    • To fix, disable the option, install an application with the title ID in sd:/luma/config.ini, or change the set title ID to match an application that does exist.
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 using an external switch. New models do not have this switch 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 that was most recently opened is corrupted.
    • To fix, download a new copy of the .3dsx file. If this error happens when opening the Homebrew Launcher, download a new copy of boot.3dsx.
      If the error still happens, test the SD card for errors.
app/CtrApp
  • If not prefetch abort (svcBreak): The app most recently 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 most recently opened 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
  • Could be an SD card problem, minor NAND problem, hardware issue, or anything in between.
Kujira/Joker/niji_loc
  • The app most recently 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
  • undefined instruction
    • The app most recently opened has an issue. If the value of R0 starts with C or D, it is an error code, and has a chance of being an error code if the value starts with E or F. Here are some common values for R0:
      • D9004587: When trying to open a game: The game is corrupted, or it's seed is not imported.
      • C8804478: If trying to open the Homebrew Launcher: boot.3dsx is missing from the root of your SD card.
        • To fix: Download the latest Homebrew Launcher from here
      • D96077FA/FFFFFFFF: The .3dsx that Luma3DS tried to load is corrupted.
        • To fix, redownload the app you are trying to launch. If this happens when you try to open the Homebrew Launcher itself, see the error above.
      • Most of the other possible error codes that can appear here are listed on the ErrDisp page.
  • prefetch abort (svcBreak)
    • The code or sysmodule patch Luma3DS tried to load is invalid or corrupt.
      • To fix: Redownload any recently installed patches (eg. Nimbus (Pretendo), Wumiibo, or anything else that goes in /luma/titles or /luma/sysmodules.) Alternatively, you may disable loading external FIRMs and modules as well as Enable game patching in the Luma3DS configuration menu.
mset
  • If not caused in Nintendo DS Profile: System Settings is broken in some way - this may indicate that the console has a hardware issue.
  • If caused in Nintendo DS Profile: Your NVRAM is either corrupted or damaged in hardware. Run ctrcheck - if its results do not include Critical: NVRAM is inaccessible, then follow the Fix NVRAM guide.
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.
pxi
  • Could be anything from a faulty cartridge to damaged internal components, but will almost always be some type of hardware issue.
pm
  • The software you have launched may be missing required files. If the value in R0 is E0E01BF5, this is extremely likely to be the cause.
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.
swkbd
  • The software keyboard is broken in some way - this may indicate that the console has a hardware issue.