-
Notifications
You must be signed in to change notification settings - Fork 489
Error Codes
Lex Berezhny edited this page Aug 14, 2018
·
12 revisions
Proposal for consistent error codes across the entire lbrynet API.
| Code | Name |
|---|---|
| 1xx | Daemon start and other CLI command failures (non-recoverable) |
| 10x | Meta error codes not presented by lbrynet itself but from apps trying to interact with lbrynet. |
| 100 | Cannot find the lbrynet command. |
| 101 | Permission denied trying to execute lbrynet command. |
| 102 | Executing lbrynet command does not produce any result. |
| 103 | Executing lbrynet produces a result that is not normal (eg. a segfault). |
| 104 | Failed to establish HTTP connection to lbrynet. (Is it running?) |
| 105 | HTTP connection established but daemon is not responding to commands. |
| 106 | Failed to establish WebSocket connection to lbrynet. (Is it running?) |
| 107 | WebSocket connection established but daemon is not responding to commands. |
| 11x | Enough of lbrynet was able to start to determine external factors causing eventual failure. |
| 110 | Out of disk space. |
| 111 | Out of RAM. |
| 12x | Internal factors preventing lbrynet from bootstrapping itself. |
| 120 | Incompatible version of Python. |
| 121 | Incompatible version of some library. |
| 13x | Configuration errors. |
| 130 | Cannot write configuration file. (When writing the default config fails on startup, such as due to permission issues.) |
| 131 | Cannot find provided configuration file. (Can't open the config file user provided via command line args.) |
| 132 | Failed to parse the configuration file. (Includes the syntax error / line number to help user fix it.) |
| 133 | Configuration file is missing setting that has no default / fallback. |
| 134 | Configuration file has setting with invalid value. |
| 14x | Errors preparing to execute commands. |
| 140 | Command does not exist. |
| 141 | Command is deprecated. |
| 142 | Invalid arguments for command. |
| 143 | Command is temporarily unavailable. (such as waiting for required components to start) |
| 144 | Command is permanently unavailable. (such as when required component was intentionally configured not to start) |
| 2xx | Networking |
| 20x | General connectivity. |
| 201 | No internet connection. |
| 202 | Router does not support UPnP. |
| 21x | Wallet server connectivity. |
| 210 | Failed connecting to a lbryumx server. (Should normally not need to be handled higher up as lbrynet will retry other servers.) |
| 211 | Failed connecting to all known lbryumx servers. (Will need to bubble up and require user to do something.) |
| 212 | lbryumx droppped our connection. (Maybe we were being bad?) |
| 22x | Wallet connection dropped. |
| 220 | Disconnected from lbryumx server due to suspicious responses. generic |
| 221 | Disconnected from lbryumx server due to SPV validation failure. |
| 222 | Disconnected from lbryumx server due to incorrect header received. |
| 228 | Disconnected from lbryumx server due to incompatible protocol version. |
| 229 | Disconnected from lbryumx server due to unresponsiveness. |
| 23x | P2P connection errors. |
| 24x | P2P download errors. |
| 240 | Failed to download blob. generic |
| 25x | P2P upload errors. |
| 26x | DHT connectivity issues. |
| 27x | DHT protocol issues. |
| 3xx | Blockchain |
| 30x | Transaction rejected. |
| 300 | Transaction rejected, unknown reason. |
| 301 | Fee too low. |
| 302 | Invalid signature. |
| 31x | Insufficient funds. (determined by wallet prior to attempting to broadcast a tx; this is different for example from a TX being created and sent but then rejected by lbrycrd for unspendable utxos.) |
| 310 | Not enough LBC to cover the transaction, even after all UTXOs reach 6 confirmations. |
| 311 | Not enough LBC to cover the transaction, will be enough after some more confirmations. |
| 32x | Channel signing. |
| 320 | Channel signing key not found. |
| 321 | Channel signing key is out of date. (For example, channel was updated but you don't have the updated key.) |
| 4xx | Blobs |
| 40x | Blob availability. |
| 400 | Blob not found. |
| 401 | Permission denied to read blob. |
| 402 | Blob is too big. |
| 403 | Blob is empty. |
| 41x | Decryption / Assembly |
| 410 | Failed to decrypt blob. |
| 411 | Blobs is corrupted. |
| 42x | Encrypting / Creating |
| 420 | Failed to encrypt blob. |