electrumx icon indicating copy to clipboard operation
electrumx copied to clipboard

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 1022035: invalid start byte

Open github12101 opened this issue 5 years ago • 1 comments

ElectrumX been running for 5 days straight and just crashed with error:

2020-08-08 04:56:34,674:WARNING:Controller:received SIGINT signal, initiating shutdown
2020-08-08 04:56:34,689:ERROR:electrumx:ElectrumX server terminated abnormally
Traceback (most recent call last):
  File "/home/nv01/.local/bin/electrumx_server", line 35, in main
    asyncio.run(controller.run())
  File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/lib/server_base.py", line 125, in run
    await server_task
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/lib/server_base.py", line 98, in serve
    await self.serve(shutdown_event)
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/server/controller.py", line 134, in serve
    await group.spawn(wait_for_catchup())
  File "/usr/local/lib/python3.7/dist-packages/aiorpcx/curio.py", line 242, in __aexit__
    await self.join()
  File "/usr/local/lib/python3.7/dist-packages/aiorpcx/curio.py", line 211, in join
    raise task.exception()
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/server/mempool.py", line 335, in keep_synchronized
    await group.spawn(self._logging(synchronized_event))
  File "/usr/local/lib/python3.7/dist-packages/aiorpcx/curio.py", line 242, in __aexit__
    await self.join()
  File "/usr/local/lib/python3.7/dist-packages/aiorpcx/curio.py", line 211, in join
    raise task.exception()
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/server/mempool.py", line 218, in _refresh_hashes
    hex_hashes = await self.api.mempool_hashes()
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/server/daemon.py", line 233, in mempool_hashes
    return await self._send_single('getrawmempool')
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/server/daemon.py", line 176, in _send_single
    return await self._send(payload, processor)
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/server/daemon.py", line 134, in _send
    result = await self._send_data(data)
  File "/home/nv01/.local/lib/python3.7/site-packages/electrumx/server/daemon.py", line 108, in _send_data
    return await resp.json(loads=json_deserialize)
  File "/usr/local/lib/python3.7/dist-packages/aiohttp/client_reqrep.py", line 1040, in json
    return loads(stripped.decode(encoding))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 1022035: invalid start byte

dmesg says:

[Mon Aug  3 19:47:08 2020] electrumx_serve[3458550]: segfault at 0 ip 0000000000000000 sp 00007ffce9084e28 error 14 in python3.7[400000+21000]
[Mon Aug  3 19:47:08 2020] Code: Bad RIP value.

System info: OS: Debian GNU/Linux 10 (buster) x86_64 Kernel: 5.6.0-0.bpo.2-amd64

ElectrumX latest from git

github12101 avatar Aug 08 '20 04:08 github12101

It seems it failed to decode the response received from bitcoind, for: return await self._send_single('getrawmempool')

SomberNight avatar Aug 25 '20 16:08 SomberNight