Difference between revisions of "Error codes"
From Nintendo Switch Brew
Misson20000 (talk | contribs) (→Error codes: Add 0xF201 = No such port) |
(→Error codes) |
||
| (91 intermediate revisions by 5 users not shown) | |||
| Line 9: | Line 9: | ||
| 21-9 || Description | | 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 <code>2000 + Module</code>, and the other being <code>Description</code>. Bits >=22 from the error-code are unused when displaying fatal-errors, since the Description ends with bit21. | ||
= Modules = | = Modules = | ||
| Line 18: | Line 23: | ||
| 2 || FS | | 2 || FS | ||
|- | |- | ||
| − | | 9 || | + | | 3 || NVIDIA |
| + | |- | ||
| + | | 5 || NCM | ||
| + | |- | ||
| + | | 6 || DD | ||
| + | |- | ||
| + | | 8 || LR | ||
| + | |- | ||
| + | | 9 || Loader | ||
| + | |- | ||
| + | | 10 || CMIF (IPC command interface) | ||
|- | |- | ||
| − | | | + | | 11 || HIPC (IPC) |
|- | |- | ||
| − | | | + | | 15 || PM |
|- | |- | ||
| 16 || NS | | 16 || NS | ||
| + | |- | ||
| + | | 18 || HTC | ||
|- | |- | ||
| 21 || SM | | 21 || SM | ||
|- | |- | ||
| − | | 22 || RO | + | | 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 | | 124 || Account | ||
|- | |- | ||
| 126 || Mii | | 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 | | 203 || HID | ||
| + | |- | ||
| + | | 206 || Capture | ||
| + | |- | ||
| + | | 651 || TC | ||
| + | |- | ||
| + | | 669 || ARP | ||
| + | |- | ||
| + | | 800 || [[Internet_Browser|General web-applet]] | ||
| + | |- | ||
| + | | 809 || [[Internet_Browser|WifiWebAuthApplet]] | ||
| + | |- | ||
| + | | 810 || [[Internet_Browser|Whitelisted-applet]] | ||
| + | |- | ||
| + | | 811 || [[Internet_Browser|ShopN]] | ||
|} | |} | ||
| + | |||
| + | 8XX is for/includes system applets. | ||
= Error codes = | = Error codes = | ||
| Line 41: | Line 124: | ||
! Value || Description || Description | ! Value || Description || Description | ||
|- | |- | ||
| − | | 0xCA01 || 101 || | + | | 0xCA01 || 101 || Invalid size |
|- | |- | ||
| − | | 0xCC01 || 102 || Invalid address | + | | 0xCC01 || 102 || Invalid address |
| + | |- | ||
| + | | 0xCE01 || 103 || Address is NULL / buffer size is too small. | ||
|- | |- | ||
| 0xD201 || 105 || Handle-table full. | | 0xD201 || 105 || Handle-table full. | ||
|- | |- | ||
| − | | 0xD401 || 106 || Invalid memory state. | + | | 0xD401 || 106 || Invalid memory state / invalid memory permissions. |
|- | |- | ||
| 0xD801 || 108 || When trying to set executable permission on memory. | | 0xD801 || 108 || When trying to set executable permission on memory. | ||
| Line 60: | Line 145: | ||
|- | |- | ||
| 0xE601 || 115 || Syscall copy from user failed. | | 0xE601 || 115 || Syscall copy from user failed. | ||
| + | |- | ||
| + | | 0xE801 || 116 || ID1 outside valid range in svcGetInfo. | ||
|- | |- | ||
| 0xEA01 || 117 || Time out? When you give 0 handles to svcWaitSynchronizationN. | | 0xEA01 || 117 || Time out? When you give 0 handles to svcWaitSynchronizationN. | ||
|- | |- | ||
| 0xEE01 || 119 || When you give too many handles to svcWaitSynchronizationN. | | 0xEE01 || 119 || When you give too many handles to svcWaitSynchronizationN. | ||
| + | |- | ||
| + | | 0xF001 || 120 || ID0 outside valid range in svcGetInfo. | ||
|- | |- | ||
| 0xF201 || 121 || No such port | | 0xF201 || 121 || No such port | ||
| + | |- | ||
| + | | 0xF601 || 123 || Port remote dead | ||
| + | |- | ||
| + | | 0xF801 || 124 || Unhandled usermode exception | ||
|- | |- | ||
| 0xFA01 || 125 || Wrong memory permission? | | 0xFA01 || 125 || Wrong memory permission? | ||
| Line 73: | Line 166: | ||
| 0x10801 || 132 || Out of memory | | 0x10801 || 132 || Out of memory | ||
|- | |- | ||
| − | | 0x7D402 || 1002 || Title-id not found | + | | 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 | | 0x13B002 || 2520 || Gamecard not inserted | ||
| Line 79: | Line 178: | ||
| 0x171402 || 2954 || Invalid gamecard handle. | | 0x171402 || 2954 || Invalid gamecard handle. | ||
|- | |- | ||
| − | | 0x2EE202 || 6001 || | + | | 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 || [[NAX0|Corrupted]] NAX0 header. | ||
| + | |- | ||
| + | | 0x251002 || 4744 || Invalid [[NAX0]] magicnum. | ||
| + | |- | ||
| + | | 0x2EE202 || 6001 || Wrong permissions | ||
|- | |- | ||
| 0x2EE602 || 6003 || Path too long | | 0x2EE602 || 6003 || Path too long | ||
| + | |- | ||
| + | | 0x2F5A02 || 6061 || Offset outside storage | ||
| + | |- | ||
| + | | 0x313802 || 6300 || Operation not supported | ||
|- | |- | ||
| 0x320002 || 6400 || Permission denied | | 0x320002 || 6400 || Permission denied | ||
| + | |- | ||
| + | | 0x3EA03 || 501 || Invalid handle | ||
| + | |- | ||
| + | | 0x3EE03 || 503 || Invalid memory mirror | ||
| + | |- | ||
| + | | 0xA05 || 5 || [[Content_Manager_services|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 | | 0x6609 || 51 || Invalid memory state/permission | ||
|- | |- | ||
| − | | 0x6A09 || 53 || Invalid | + | | 0x6A09 || 53 || Invalid NRR |
|- | |- | ||
| − | | 0xA209 || 81 || Unaligned | + | | 0xA209 || 81 || Unaligned NRR address |
|- | |- | ||
| − | | 0xA409 || 82 || Bad | + | | 0xA409 || 82 || Bad NRR size |
|- | |- | ||
| − | | 0xAA09 || 85 || Bad | + | | 0xAA09 || 85 || Bad NRR address |
|- | |- | ||
| 0x1A80A || 212 || Bad magic (expected 'SFCO') | | 0x1A80A || 212 || Bad magic (expected 'SFCO') | ||
| Line 101: | Line 246: | ||
| 0x11A0B || 141 || Went past maximum during marshalling. | | 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 | | 0x1015 || 8 || Permission denied | ||
|- | |- | ||
| − | | 0x816 || 4 || Bad | + | | 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 = | ||
| + | {| class=wikitable | ||
| + | ! Error || Description | ||
| + | |- | ||
| + | | 2162-0002 | ||
| + | | Can be triggered by running [[SVC|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 [[SVC|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 = | ||
| + | {| class=wikitable | ||
| + | ! 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. | ||
Latest revision as of 10:46, 7 July 2017
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 |
|---|---|---|
| 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 | ID1 outside valid range in svcGetInfo. |
| 0xEA01 | 117 | Time out? When you give 0 handles to svcWaitSynchronizationN. |
| 0xEE01 | 119 | When you give too many handles to svcWaitSynchronizationN. |
| 0xF001 | 120 | ID0 outside valid range in svcGetInfo. |
| 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 | Out of memory |
| 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 |
| 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.