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 TitleID and StorageID mismatch?
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
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.