12
Error Codes
Lex Berezhny edited this page 2018-08-14 18:26:46 -04:00
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. |