Error codes
Structure
These have been redesigned from the 3DS so that they fit within a Aarch64 MOV instruction immediate most of the time (without requiring the additional MOVK).
| Bits | Field |
|---|---|
| 8-0 | Module |
| 21-9 | Description |
When a fatal-error is received the error code is outputted using the following formatter:
%04d-%04x
.. where the first code is 2000 + Module, and the other being Description. Bits >=22 from the error-code are unused when displaying fatal-errors, since the Description ends with bit21.
Modules
| Value | Name |
|---|---|
| 1 | Kernel |
| 2 | FS |
| 3 | NVIDIA |
| 5 | NCM |
| 6 | DD |
| 8 | LR |
| 9 | Loader |
| 10 | CMIF (IPC command interface) |
| 11 | HIPC (IPC) |
| 15 | PM |
| 16 | NS |
| 18 | HTC |
| 21 | SM |
| 22 | RO userland |
| 24 | SDMMC |
| 26 | SPL |
| 100 | ETHC |
| 101 | I2C |
| 105 | Settings |
| 110 | NIFM |
| 114 | Display |
| 116 | NTC |
| 117 | FGM |
| 120 | PCIE |
| 121 | Friends |
| 123 | SSL |
| 124 | Account |
| 126 | Mii |
| 129 | Play Report |
| 133 | PCV |
| 134 | OMM |
| 137 | NIM |
| 138 | PSC |
| 140 | USB |
| 143 | BTM |
| 147 | ERPT |
| 148 | APM |
| 154 | NPNS |
| 161 | NFC |
| 162 | Userland assert |
| 168 | Userland crash |
| 203 | HID |
| 206 | Capture |
| 651 | TC |
| 669 | ARP |
| 800 | General web-applet |
| 809 | WifiWebAuthApplet |
| 810 | Whitelisted-applet |
| 811 | ShopN |
8XX is for/includes system applets.
Error codes
| Value | Description | Description |
|---|---|---|
| 0x1C01 | 14 | Invalid kernel capability descriptor |
| 0xCA01 | 101 | Invalid size |
| 0xCC01 | 102 | Invalid address |
| 0xCE01 | 103 | Address is NULL / buffer size is too small. |
| 0xD201 | 105 | Handle-table full. |
| 0xD401 | 106 | Invalid memory state / invalid memory permissions. |
| 0xD801 | 108 | When trying to set executable permission on memory. |
| 0xDC01 | 110 | Stack address outside allowed range |
| 0xE001 | 112 | Invalid thread priority. |
| 0xE201 | 113 | Invalid processor id. |
| 0xE401 | 114 | Invalid handle. |
| 0xE601 | 115 | Syscall copy from user failed. |
| 0xE801 | 116 | Invalid combination |
| 0xEA01 | 117 | Time out? When you give 0 handles to svcWaitSynchronizationN. |
| 0xEE01 | 119 | Exceeding maximum |
| 0xF001 | 120 | Invalid enum |
| 0xF201 | 121 | No such port |
| 0xF601 | 123 | Port remote dead |
| 0xF801 | 124 | Unhandled usermode exception |
| 0xFA01 | 125 | Wrong memory permission? |
| 0x10601 | 131 | Port max sessions exceeded |
| 0x10801 | 132 | Resource limit exceeded |
| 0xE02 | 7 | High byte in input u64 is zero. |
| 0x7802 | 60 | The specified NCA-type doesn't exist for this title. |
| 0x7D202 | 1001 | Process does not have RomFs |
| 0x7D402 | 1002 | Title-id not found / savedata not found. |
| 0x13B002 | 2520 | Gamecard not inserted |
| 0x171402 | 2954 | Invalid gamecard handle. |
| 0x196002 | 3248 | Out of memory |
| 0x196202 | 3249 | Out of memory |
| 0x1A4A02 | 3365 | Out of memory |
| 0x235E02 | 4527 | NCA-path used with the wrong titleID. |
| 0x250E02 | 4743 | Corrupted NAX0 header. |
| 0x251002 | 4744 | Invalid NAX0 magicnum. |
| 0x2EE202 | 6001 | Wrong permissions |
| 0x2EE602 | 6003 | Path too long |
| 0x2F5A02 | 6061 | Offset outside storage |
| 0x313802 | 6300 | Operation not supported |
| 0x320002 | 6400 | Permission denied |
| 0x326602 | 6451 | Missing titlekey(?) required to mount content |
| 0x3EA03 | 501 | Invalid handle |
| 0x3EE03 | 503 | Invalid memory mirror |
| 0xA05 | 5 | NcaID not found. Returned when attempting to mount titles which exist that aren't *8XX titles, the same way *8XX titles are mounted. |
| 0xE05 | 7 | TitleId not found |
| 0x1805 | 12 | Invalid StorageId |
| 0xDC05 | 110 | Gamecard not inserted |
| 0x17C05 | 190 | Gamecard not initialized |
| 0x1F405 | 250 | Sdcard not inserted |
| 0x20805 | 260 | Storage not mounted |
| 0x408 | 2 | Invalid program TitleID. |
| 0x608 | 3 | Invalid control StorageID. |
| 0x808 | 4 | Storage not found. |
| 0xA08 | 5 | Access denied. |
| 0xE08 | 7 | Title is not registered. |
| 0x409 | 2 | Maximum processes loaded. |
| 0x6609 | 51 | Invalid memory state/permission |
| 0x6A09 | 53 | Invalid NRR |
| 0xA209 | 81 | Unaligned NRR address |
| 0xA409 | 82 | Bad NRR size |
| 0xAA09 | 85 | Bad NRR address |
| 0x1A80A | 212 | Bad magic (expected 'SFCO') |
| 0x20B | 1 | Size too big to fit to marshal. |
| 0x11A0B | 141 | Went past maximum during marshalling. |
| 0x1900B | 200 | Session doesn't support domains. |
| 0x25A0B | 301 | Remote process is dead. |
| 0x3D60B | 491 | IPC Query 1 failed. |
| 0x20F | 1 | Pid not found |
| 0x60F | 3 | Process has no pending events |
| 0x410 | 2 | Title-id not found |
| 0xF010 | 120 | Gamecard sysupdate not required |
| 0x1F610 | 251 | Unexpected StorageId |
| 0x615 | 3 | Max sessions |
| 0xC15 | 6 | Invalid name (all zeroes) |
| 0x1015 | 8 | Permission denied |
| 0x416 | 2 | Address space is full |
| 0x616 | 3 | NRO already loaded |
| 0x816 | 4 | Invalid NRO header values |
| 0xC16 | 6 | Bad NRR magic |
| 0x1016 | 8 | Reached max NRR count |
| 0x1216 | 9 | Unable to verify NRO hash or NRR signature |
| 0x80216 | 1025 | Address not page-aligned |
| 0x80416 | 1026 | Incorrect NRO size |
| 0x80816 | 1028 | NRO not loaded |
| 0x80A16 | 1029 | NRR not loaded |
| 0x80C16 | 1030 | Already initialized |
| 0x80E16 | 1031 | Not initialized |
| 0x41A | 2 | Argument is invalid |
| 0xD01A | 104 | Not initialized |
| 0xD21A | 105 | Already initialized |
| 0x287C | 20 | Argument is NULL |
| 0x2C7C | 22 | Argument is invalid |
| 0x3C7C | 30 | Bad input buffer size |
| 0x407C | 32 | Invalid input buffer |
| 0x3CF089 | 7800 | Unknown/invalid libcurl error. |
| 0x3E8289-0x3F4089 | 8001-8096 | libcurl error 1-96. Some of the libcurl errors in the error-table map to the above unknown-libcurl-error however. |
Fatal Errors
| Error | Description |
|---|---|
| 2162-0002 | Can be triggered by running svcBreak. The svcBreak params have no affect on the value of the thrown error-code. |
| 2168-0000 | Userland ARM undefined instruction exception |
| 2168-0001 | Userland ARM prefetch-abort due to PC set to non-executable region |
| 2168-0002 | Userland ARM data abort. Also caused by abnormal process termination via svcExitProcess. Note: directly jumping to nnMain()-retaddr from non-main-thread has the same result. |
| 2168-0003 | Userland PC address not aligned to 4 bytes |
Support Errors
| Error | Module | Description | Notes |
|---|---|---|---|
| {web-applets listed above} | 2750 | MP4 parsing failed. |
Normal error-codes displayed by the system also use the same format as fatal-errors.