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-%04d
.. 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 | OS (Memory, Thread, Mutex, NVIDIA) |
4 | HTCS |
5 | NCM |
6 | DD |
7 | Debug Monitor |
8 | LR |
9 | Loader |
10 | CMIF (IPC command interface) |
11 | HIPC (IPC) |
15 | PM |
16 | NS |
17 | Sockets |
18 | HTC |
20 | NCM Content |
21 | SM |
22 | RO userland |
24 | SDMMC |
25 | OVLN |
26 | SPL |
100 | ETHC |
101 | I2C |
102 | GPIO |
103 | UART |
105 | Settings |
107 | WLAN |
108 | XCD |
110 | NIFM |
111 | Hwopus |
113 | Bluetooth |
114 | VI |
115 | NFP |
116 | Time |
117 | FGM |
118 | OE |
120 | PCIe |
121 | Friends |
122 | BCAT |
123 | SSL |
124 | Account |
125 | News |
126 | Mii |
127 | NFC |
128 | AM |
129 | Play Report |
130 | AHID |
132 | Home Menu (Qlaunch) |
133 | PCV |
134 | OMM |
135 | BPC |
136 | PSM |
137 | NIM |
138 | PSC |
139 | TC |
140 | USB |
141 | NSD |
142 | PCTL |
143 | BTM |
144 | EC (Shop) |
145 | ETicket |
146 | NGC (Bad Words) |
147 | Error Report |
148 | APM |
150 | Profiler |
151 | Error Upload |
153 | Audio |
154 | NPNS |
155 | NPNS HTTP Stream |
157 | ARP |
158 | SWKBD |
159 | Boot |
161 | NFC Mifare |
162 | Userland assert |
163 | Fatal |
164 | NIM Shop |
165 | SPSM |
167 | BGTC |
168 | Userland crash |
180 | SREPO |
181 | Dauth |
202 | HID |
203 | LDN |
205 | Irsensor |
206 | Capture |
208 | Manu |
209 | ATK |
210 | Web |
211 | |
212 | GRC |
216 | Migration |
217 | Migration Idc Server |
345 | libnx |
346 | Homebrew ABI |
347 | Homebrew Loader |
348 | libnx Nvidia errors |
800 | General web-applet |
809 | WifiWebAuthApplet |
810 | Whitelisted-applet |
811 | ShopN |
8XX is for/includes system applets.
Error codes
Value | Module | Description | Notes |
---|---|---|---|
0x1C01 | 1 | 14 | Invalid kernel capability descriptor |
0x4201 | 1 | 33 | IsDebugMode isn't set. |
0x8C01 | 1 | 70 | No more debug events |
0xCA01 | 1 | 101 | Invalid size |
0xCC01 | 1 | 102 | Invalid address |
0xCE01 | 1 | 103 | Slabheap full |
0xD001 | 1 | 104 | Memory full |
0xD201 | 1 | 105 | Handle-table full. |
0xD401 | 1 | 106 | Invalid memory state / invalid memory permissions. |
0xD801 | 1 | 108 | Invalid memory permissions. |
0xDC01 | 1 | 110 | Invalid memory range |
0xE001 | 1 | 112 | Invalid thread priority. |
0xE201 | 1 | 113 | Invalid processor id. |
0xE401 | 1 | 114 | Invalid handle. |
0xE601 | 1 | 115 | Syscall copy from user failed. |
0xE801 | 1 | 116 | Invalid combination |
0xEA01 | 1 | 117 | Time out. Also when you give 0 handles to svcWaitSynchronizationN. |
0xEC01 | 1 | 118 | Canceled/interrupted [?] |
0xEE01 | 1 | 119 | Exceeding maximum |
0xF001 | 1 | 120 | Invalid enum |
0xF201 | 1 | 121 | No such entry |
0xF401 | 1 | 122 | Irq/DeviceAddressSpace/{...} already registered |
0xF601 | 1 | 123 | Port remote dead |
0xF801 | 1 | 124 | [Usermode] Unhandled interrupt |
0xFA01 | 1 | 125 | Wrong memory permission? |
0xFC01 | 1 | 126 | Reserved value |
0xFE01 | 1 | 127 | Invalid hardware breakpoint |
0x10001 | 1 | 128 | [Usermode] Fatal exception |
0x10201 | 1 | 129 | Last thread didn't belong to your process |
0x10601 | 1 | 131 | Port max sessions exceeded |
0x10801 | 1 | 132 | Resource limit exceeded |
0x20801 | 1 | 260 | Command buffer too small |
0x41001 | 1 | 520 | Process not being debugged |
0xE02 | 2 | 7 | Savedata already mounted |
0x7802 | 2 | 60 | The specified NCA-type doesn't exist for this title. |
0x7D202 | 2 | 1001 | Process does not have RomFs |
0x7D402 | 2 | 1002 | Title-id not found / savedata not found. |
0xFA202 | 2 | 2001 | SD card not inserted |
0x13B002 | 2 | 2520 | Gamecard not inserted |
0x13DA02 | 2 | 2541 | Version check failed when mounting gamecard sysupdate partition? |
0x171402 | 2 | 2954 | Invalid gamecard handle. |
0x196002 | 2 | 3248 | Out of memory |
0x196202 | 2 | 3249 | Out of memory |
0x1A4A02 | 2 | 3365 | Out of memory |
0x235202 | 2 | 4521 | Invalid NCA Key index |
0x235E02 | 2 | 4527 | NCA-path used with the wrong titleID. |
0x250E02 | 2 | 4743 | Corrupted NAX0 header. |
0x251002 | 2 | 4744 | Invalid NAX0 magicnum. |
0x2EE202 | 2 | 6001 | Invalid input |
0x2EE602 | 2 | 6003 | Path too long |
0x2F5A02 | 2 | 6061 | Offset outside storage |
0x313802 | 2 | 6300 | Operation not supported |
0x320002 | 2 | 6400 | Permission denied |
0x326602 | 2 | 6451 | Missing titlekey(?) required to mount content |
0x3EA03 | 3 | 501 | Invalid handle |
0x3EE03 | 3 | 503 | Invalid memory mirror |
0x7FE03 | 3 | 1023 | TLS slot is not allocated |
0xA05 | 5 | 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 | 5 | 7 | TitleId not found |
0x1805 | 5 | 12 | Invalid StorageId |
0xDC05 | 5 | 110 | Gamecard not inserted |
0x17C05 | 5 | 190 | Gamecard not initialized |
0x1F405 | 5 | 250 | Sdcard not inserted |
0x20805 | 5 | 260 | Storage not mounted |
0x806 | 6 | 4 | Converted from error 0xD401 |
0x1006 | 6 | 8 | Converted from error 0xE401 |
0x408 | 8 | 2 | Program location entry not found |
0x608 | 8 | 3 | Invalid context for control location |
0x808 | 8 | 4 | Storage not found |
0xA08 | 8 | 5 | Access denied |
0xC08 | 8 | 6 | Offline manual HTML location entry not found |
0xE08 | 8 | 7 | Title is not registered |
0x1008 | 8 | 8 | Control location entry for host not found |
0x1208 | 8 | 9 | Legal info HTML location entry not found |
0x209 | 9 | 1 | Args too long. |
0x409 | 9 | 2 | Maximum processes loaded. |
0x609 | 9 | 3 | NPDM too big. |
0x19009 | 9 | 200 | Invalid access control sizes in NPDM. |
0x809 | 9 | 4 | Invalid NPDM. |
0xA09 | 9 | 5 | Invalid files. |
0xE09 | 9 | 7 | Already registered. |
0x1009 | 9 | 8 | Title not found. |
0x1209 | 9 | 9 | Title-id in ACI0 doesn't match range in ACID. |
0x6609 | 9 | 51 | Invalid memory state/permission |
0x6A09 | 9 | 53 | Invalid NRR |
0xA209 | 9 | 81 | Unaligned NRR address |
0xA409 | 9 | 82 | Bad NRR size |
0xAA09 | 9 | 85 | Bad NRR address |
0xAE09 | 9 | 87 | Bad initialization |
0xC809 | 9 | 100 | Unknown ACI0 descriptor |
0xCE09 | 9 | 103 | ACID/ACI0 don't match for descriptor "KernelFlags" |
0xD009 | 9 | 104 | ACID/ACI0 don't match for descriptor "SyscallMask" |
0xD409 | 9 | 106 | ACID/ACI0 don't match for descriptor "MapIoOrNormalRange" |
0xD609 | 9 | 107 | ACID/ACI0 don't match for descriptor "MapNormalPage" |
0xDE09 | 9 | 111 | ACID/ACI0 don't match for descriptor "InterruptPair" |
0xE209 | 9 | 113 | ACID/ACI0 don't match for descriptor "ApplicationType" |
0xE409 | 9 | 114 | ACID/ACI0 don't match for descriptor "KernelReleaseVersion" |
0xE609 | 9 | 115 | ACID/ACI0 don't match for descriptor "HandleTableSize" |
0xE809 | 9 | 116 | ACID/ACI0 don't match for descriptor "DebugFlags" |
0x1A80A | 10 | 212 | Bad magic (expected 'SFCO') |
0x20B | 11 | 1 | Size too big to fit to marshal. |
0x11A0B | 11 | 141 | Went past maximum during marshalling. |
0x1900B | 11 | 200 | Session doesn't support domains. |
0x25A0B | 11 | 301 | Remote process is dead. |
0x3D60B | 11 | 491 | IPC Query 1 failed. |
0x20F | 15 | 1 | Pid not found |
0x60F | 15 | 3 | Process has no pending events |
0xA0F | 15 | 5 | Application already running |
0x410 | 16 | 2 | Title-id not found |
0xF010 | 16 | 120 | Gamecard sysupdate not required |
0x1F610 | 16 | 251 | Unexpected StorageId |
0x415 | 21 | 2 | Not initialized. |
0x615 | 21 | 3 | Max sessions |
0xC15 | 21 | 6 | Invalid name (all zeroes) |
0x1015 | 21 | 8 | Permission denied |
0x416 | 22 | 2 | Address space is full |
0x616 | 22 | 3 | NRO already loaded |
0x816 | 22 | 4 | Invalid NRO header values |
0xC16 | 22 | 6 | Bad NRR magic |
0x1016 | 22 | 8 | Reached max NRR count |
0x1216 | 22 | 9 | Unable to verify NRO hash or NRR signature |
0x80216 | 22 | 1025 | Address not page-aligned |
0x80416 | 22 | 1026 | Incorrect NRO size |
0x80816 | 22 | 1028 | NRO not loaded |
0x80A16 | 22 | 1029 | NRR not loaded |
0x80C16 | 22 | 1030 | Already initialized |
0x80E16 | 22 | 1031 | Not initialized |
0x41A | 26 | 2 | Argument is invalid |
0xC81A | 26 | 100 | Incorrect buffer size |
0xCA1A | 26 | 101 | Unknown TZ error |
0xD01A | 26 | 104 | All AES engines busy |
0xD21A | 26 | 105 | Invalid AES engine-id |
0x272 | 114 | 1 | Generic error |
0xCC74 | 116 | 102 | Time not set |
0x287C | 124 | 20 | Argument is NULL |
0x2C7C | 124 | 22 | Argument is invalid |
0x3C7C | 124 | 30 | Bad input buffer size |
0x407C | 124 | 32 | Invalid input buffer |
0x3CF089 | 137 | 7800 | Unknown/invalid libcurl error. |
0x3E8289-0x3F4089 | 137 | 8001-8096 | libcurl error 1-96. Some of the libcurl errors in the error-table map to the above unknown-libcurl-error however. |
0x668C | 140 | 51 | USB data-transfer in progress |
0xD48C | 140 | 106 | Invalid descriptor |
0x1928C | 140 | 201 | USB device not bound / interface already enabled |
0x299 | 153 | 1 | Invalid audio device |
0x499 | 153 | 2 | Invalid buffer address |
0x699 | 153 | 3 | Invalid sample rate |
0x1499 | 153 | 10 | Invalid channel count |
0xC0899 | 153 | 1540 | Audio output was already started |
0x3C9D | 157 | 30 | Address is NULL |
0x3E9D | 157 | 31 | PID is NULL |
0x549D | 157 | 42 | Already bound |
0xCC9D | 157 | 102 | Invalid PID |
0x35B | 347 | 1 | Failed to init SM. |
0x55B | 347 | 2 | Failed to init FS. |
0x75B | 347 | 3 | Failed to to open NRO file. May also happen when SD card isn't inserted / SD mounting failed earlier. |
0x95B | 347 | 4 | Failed to read NRO header. |
0xB5B | 347 | 5 | Invalid NRO magic. |
0xD5B | 347 | 6 | Invalid NRO segments. |
0xF5B | 347 | 7 | Failed to read NRO. |
0x135B | 347 | 9 | Failed to allocate heap. |
0x255B | 347 | 18 | Failed to map code-binary memory. |
0x275B | 347 | 19 | Failed to map code memory (.text). |
0x295B | 347 | 20 | Failed to map code memory (.rodata). |
0x2B5B | 347 | 21 | Failed to map code memory (.data+.bss). |
0x315B | 347 | 24 | Failed to unmap code memory (.text). |
0x335B | 347 | 25 | Failed to unmap code memory (.rodata). |
0x355B | 347 | 26 | Failed to unmap code memory (.data+.bss). |
FS Error Codes
The following are the error codes recognized by nn::fs::detail::LogErrorMessage found in some factory titles:
Value | Description | Message |
---|---|---|
0x7802 | 60 | Error: Specified mount name already exists. |
0xD401 | 106 | Error: Passed buffer is not usable for fs library. |
0x7D202 | 1001 | Error: Specified partition is not found. |
0x7D402 | 1002 | Error: Specified target is not found. |
0xFA002 - 0x138602 | 2000 - 2499 | Error: Failed to access SD card. |
0x136802 - 0x176E02 | 2500 - 2999 | Error: Failed to access game card. |
0x177202 | 3001 | Error: Specified operation is not implemented. |
0x177A02 | 3005 | Error: Specified value is out of range. |
0x1B5802 - 0x1F3E02 | 3500 - 3999 | Error: Failed to access MMC. |
0x1F4202 - 0x219602 | 4001 - 4299 | Error: ROM is corrupted. |
0x219A02 - 0x232602 | 4301 - 4499 | Error: Save data is corrupted. |
0x232A02 - 0x23EE02 | 4501 - 4599 | Error: NCA is corrupted. |
0x23F202 - 0x243E02 | 4601 - 4639 | Error: Integrity verification failed. |
0x244202 - 0x246602 | 4641 - 4659 | Error: Partition FS is corrupted. |
0x246A02 - 0x248E02 | 4661 - 4679 | Error: Built-in-storage is corrupted. |
0x249202 - 0x24B602 | 4681 - 4699 | Error: FAT FS is corrupted. |
0x24BA02 - 0x24DE02 | 4701 - 4719 | Error: HOST FS is corrupted. |
0x1F4002 - 0x270E02 | 4000, 4300, 4500, 4600, 4640, 4660, 4680, 4700, 4720-4999 | Error: Data is corrupted. |
0x271002 - 0x2EDE02 | 5000-5999 | Error: Unexpected failure occurred. |
0x2EE402 - 0x2F1A02 | 6002-6029 | Error: Invalid path was specified. |
0x2F5A02 | 6061 | Error: Invalid offset was specified. |
0x2F5C02 | 6062 | Error: Invalid size was specified. |
0x2F5E02 | 6063 | Error: Null pointer argument was specified. |
0x2EE002 | 6000 | Error: Precondition violation. |
0x2EE202 - 0x306E02 | 6001-6199 | Error: Invalid argument was specified. |
0x307202 | 6201 | Error: OpenMode_AllowAppend is required for implicit extension of file size by WriteFile(). |
0x307002 - 0x313602 | 6200, 6202 - 6299 | Error: Invalid operation for the open mode. |
0x313802 - 0x31FE02 | 6300-6399 | Error: Unsupported operation. |
0x320002 - 0x32C602 | 6400-6499 | Error: Permission denied. |
0x346402 | 6706 | Error: Enough journal space is not left. |
0x346A02 | 6709 | Error: The open count of files and directories reached the limitation. |
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 |
2168-0008 | Can occur when attempting to call an svc outside the whitelist |
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.