jgarzik / jgarzik/python-bitcoinrpc

bitcoinrpc.authproxy.JSONRPCException: -342: non-JSON HTTP response with '500 Internal Server Error' from server

Open
#98 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
663
Forks
300
PR merge metrics
No merged PRs in 30d

Description

Hi, I'm using bitcoinrpc to fetch data using multiprocessing in python (20-40 processes at a time).

I'm frequently getting these errors:

```
exception catched by line 107: Traceback (most recent call last):
File "mainF_v2_4_blocks.py", line 66, in block_processing
block_hash = rpc1.getblockhash(block_height)
File "/home/user/btc_rpc_1/btc_rpc_venv/lib64/python3.6/site-packages/bitcoinrpc/authproxy.py", line 139, in __call__
response = self._get_response()
File "/home/user/btc_rpc_1/btc_rpc_venv/lib64/python3.6/site-packages/bitcoinrpc/authproxy.py", line 179, in _get_response
http_response = self.__conn.getresponse()
File "/usr/lib64/python3.6/http/client.py", line 1321, in getresponse
raise ResponseNotReady(self.__state)
http.client.ResponseNotReady: Request-sent
```

```
exception catched by line 107: Traceback (most recent call last):
File "mainF_v2_4_blocks.py", line 66, in block_processing
block_hash = rpc1.getblockhash(block_height)
File "/home/user/btc_rpc_1/btc_rpc_venv/lib64/python3.6/site-packages/bitcoinrpc/authproxy.py", line 136, in __call__
'Content-type': 'application/json'})
File "/usr/lib64/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib64/python3.6/http/client.py", line 1250, in _send_request
self.putrequest(method, url, **skips)
File "/usr/lib64/python3.6/http/client.py", line 1108, in putrequest
raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent

```

```
exception catched by line 107: Traceback (most recent call last):
File "mainF_v2_4_blocks.py", line 67, in block_processing
block = [json.loads(json.dumps(rpc1.getblock(block_hash), use_decimal=True))]
File "/home/user/btc_rpc_1/btc_rpc_venv/lib64/python3.6/site-packages/bitcoinrpc/authproxy.py", line 139, in __call__
response = self._get_response()
File "/home/user/btc_rpc_1/btc_rpc_venv/lib64/python3.6/site-packages/bitcoinrpc/authproxy.py", line 187, in _get_response
'code': -342, 'message': 'non-JSON HTTP response with \'%i %s\' from server' % (http_response.status, http_response.reason)})
bitcoinrpc.authproxy.JSONRPCException: -342: non-JSON HTTP response with '500 Internal Server Error' from server
```

Here is `timeout` setting my connection string:
```
rpc1 = AuthServiceProxy( "http://%s:%s@%s:%s"%(rpc_user, rpc_password, rpc_host, rpc_port), timeout=86400)
```
and entry in `bitcoin.conf`:
```
rpcthreads=400
rpcworkqueue=1600
rpcservertimeout=7200
```

What can be the cause the above error? Any suggestions how to handle it? or do I need to change timeout settings?

Thanks.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.