Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server crash soon after start on 'ill-formed response error object: no new valid entries' #27

Closed
whizz opened this issue Jun 22, 2020 · 9 comments

Comments

@whizz
Copy link
Contributor

whizz commented Jun 22, 2020

Version 1.15.0, Ubuntu focal

Server starts up, but soon after crashes. On first look it seems like a problem with some peer. I'll investigate further. Here are the logs:

ERROR:electrumx:ElectrumX server terminated abnormally
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/EGG-INFO/scripts/electrumx_server", line 35, in main
  File "/usr/lib/python3.8/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/lib/server_base.py", line 125, in run
    await server_task
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/lib/server_base.py", line 98, in serve
    await self.serve(shutdown_event)
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/server/controller.py", line 134, in serve
    await group.spawn(wait_for_catchup())
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/curio.py", line 242, in __aexit__
    await self.join()
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/curio.py", line 211, in join
    raise task.exception()
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/server/session.py", line 621, in serve
    await group.spawn(self._manage_servers())
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/curio.py", line 242, in __aexit__
    await self.join()
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/curio.py", line 211, in join
    raise task.exception()
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/server/peers.py", line 459, in discover_peers
    await group.spawn(self._import_peers())
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/curio.py", line 242, in __aexit__
    await self.join()
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/curio.py", line 211, in join
    raise task.exception()
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/server/peers.py", line 234, in _monitor_peer
    if await self._should_drop_peer(peer):
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/server/peers.py", line 277, in _should_drop_peer
    await self._verify_peer(session, peer)
  File "/usr/local/lib/python3.8/dist-packages/electrumX-1.15.0-py3.8.egg/electrumx/server/peers.py", line 383, in _verify_peer
    await session.send_request('server.add_peer', [features])
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/session.py", line 529, in send_request
    return await self._send_concurrent(message, future, 1)
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/session.py", line 499, in _send_concurrent
    return await future
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/jsonrpc.py", line 721, in receive_message
    item, request_id = self._protocol.message_to_item(message)
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/jsonrpc.py", line 273, in message_to_item
    return cls._process_response(payload)
  File "/usr/local/lib/python3.8/dist-packages/aiorpcX-0.18.4-py3.8.egg/aiorpcx/jsonrpc.py", line 220, in _process_response
    raise cls._error(code, message, False, request_id)
aiorpcx.jsonrpc.ProtocolError: (-32600, 'ill-formed response error object: no new valid entries')
@SomberNight
Copy link
Member

duplicate of #22

@calebadavis
Copy link

I think this issue was closed in prematurely... I'm seeing this same crash repeatedly on my linux box (fedora 32) using the latest git 1.15 label, but there aren't two instances. Just the one. I have to re-start the server 3-4 times before it runs for a decent amount of time, but usually after a few hours, the same crash happens again. Same python traceback error as above.

@whizz
Copy link
Contributor Author

whizz commented Jun 27, 2020

I think the fix is not in 1.15. You have to use master or wait for the next release. It fixed the issue for me.

@calebadavis
Copy link

I think the fix is not in 1.15. You have to use master or wait for the next release. It fixed the issue for me.

Ahh OK cool, I'll give master a whirl. Thanks!

@calebadavis
Copy link

I think the fix is not in 1.15. You have to use master or wait for the next release. It fixed the issue for me.

Ugh. Tried master but it didn't like my config file (COIN=BitcoinSegwit). Tried to set COIN=Bitcoin, but it still complained that Bitcoin+mainnet is a bad combo (I don't have a NET specified right now). What should I be using for BTC?

@whizz
Copy link
Contributor Author

whizz commented Jun 27, 2020

That should work fine. Can you post your config?

I have

NET=mainnet
COIN=BitcoinSegwit

@calebadavis
Copy link

calebadavis commented Jun 27, 2020

Update: I think this was pilot error, I was using the old kyuupichan repo by mistake. Looks like it's starting OK right now.

Lightly scrubbed for security reasons: http://prowlers.com/~cdavis/electrumx.conf
I tried both Bitcoin and BitcoinSegwit, with and without a 'NET=' line

@whizz
Copy link
Contributor Author

whizz commented Jun 27, 2020

That is weird. Could you also post the logs for the startup sequence? Could it be possible that your config is not being used?

@calebadavis
Copy link

That is weird. Could you also post the logs for the startup sequence? Could it be possible that your config is not being used?

It was my mistake. I stupidly built from the kyuupichan repo (old habits die hard) this morning. My server seems to be running normally again. Thanks again for your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants