3DS:Error screens/Luma3DS exception screen: Difference between revisions
From Hacks Guide Wiki
More actions
m revert visual edit change to header |
→Reading a Luma3DS exception screen: alphabetize prefetch abort Exception types + add Stack dump |
||
| Line 12: | Line 12: | ||
** '''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 a CPU instruction that was marked as invalid. Often related to conflicts between CFW and other software. | ** '''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 (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. | |||
** '''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.]] | ** '''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.]] | ||
** '''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). | ** '''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). | ||
* '''Fault status:''' The specific type of ARM exception that was raised. Helpful for developers, but not so much for the end user. | * '''Fault status:''' The specific type of ARM exception that was raised. Helpful for developers, but not so much for the end user. | ||
| Line 25: | Line 25: | ||
** 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 <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. | ** 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. | ||
* '''Stack dump''': A list of code running in memory at the time of the crash. While normally not that useful it will sometimes contain a Title ID of the process that crashed in little-endian, which can help narrow down the issue if "Current process" doesn't have one listed. | |||
== Known Errors == | == Known Errors == | ||