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

Unhandled QueueFull exception #1032

Closed
gsalgado opened this issue Jul 17, 2018 · 0 comments · Fixed by #1056
Closed

Unhandled QueueFull exception #1032

gsalgado opened this issue Jul 17, 2018 · 0 comments · Fixed by #1056

Comments

@gsalgado
Copy link
Collaborator

gsalgado commented Jul 17, 2018

What is wrong?

I've seen this a few times today while running a full node on mainnet.

   ERROR  07-17 14:06:49     service  Unexpected error in ETHPeer <Node(0xe004c043de350bdb19d7bd1c07c63f58a1921eb7385192a6c0d826dc8439be250469c7b342700bb8556e693218031b63a21309de599838edd28696a5e1436d5c@13.230.44.205:53224)>, exiting
Traceback (most recent call last):
  File "/home/salgado/src/py-evm/p2p/service.py", line 55, in run
    await self._run()
  File "/home/salgado/src/py-evm/p2p/peer.py", line 353, in _run
    self.process_msg(cmd, msg)
  File "/home/salgado/src/py-evm/p2p/peer.py", line 401, in process_msg
    self.handle_sub_proto_msg(cmd, msg)
  File "/home/salgado/src/py-evm/p2p/peer.py", line 638, in handle_sub_proto_msg
    super().handle_sub_proto_msg(cmd, msg)
  File "/home/salgado/src/py-evm/p2p/peer.py", line 393, in handle_sub_proto_msg
    subscriber.put_nowait((self, cmd, msg))
  File "/usr/lib/python3.6/asyncio/queues.py", line 149, in put_nowait
    raise QueueFull
asyncio.queues.QueueFull

I believe it's the TxPool that is not consuming the messages fast enough, because when that happened the chain syncer was requesting blocks and processing them just fine

How can it be fixed

Need to investigate

gsalgado added a commit to gsalgado/py-evm that referenced this issue Jul 20, 2018
* Renamed to PeerSubscriber because that's what it really is
* New @AbstractMethod max_queue_size, to force each subscriber to define their own
* Peer now keeps a list of actual PeerSubscribers instead of just their msg queues
* PeerSubscriber provides APIs to add msgs to queue and check queue
  size, abstracting underlying implementation
* If an attempt is made to add a msg but the queue is full, we log a
  warning and drop the msg (Closes: ethereum#1032)
gsalgado added a commit to gsalgado/py-evm that referenced this issue Jul 20, 2018
* Renamed to PeerSubscriber because that's what it really is
* New @AbstractMethod max_queue_size, to force each subscriber to define their own
* Peer now keeps a list of actual PeerSubscribers instead of just their msg queues
* PeerSubscriber provides APIs to add msgs to queue and check queue
  size, abstracting underlying implementation
* If an attempt is made to add a msg but the queue is full, we log a
  warning and drop the msg (Closes: ethereum#1032)
gsalgado added a commit to gsalgado/py-evm that referenced this issue Jul 20, 2018
* Renamed to PeerSubscriber because that's what it really is
* New @AbstractMethod max_queue_size, to force each subscriber to define their own
* Peer now keeps a list of actual PeerSubscribers instead of just their msg queues
* PeerSubscriber provides APIs to add msgs to queue and check queue
  size, abstracting underlying implementation
* If an attempt is made to add a msg but the queue is full, we log a
  warning and drop the msg (Closes: ethereum#1032)
gsalgado added a commit that referenced this issue Jul 21, 2018
* Renamed to PeerSubscriber because that's what it really is
* New @AbstractMethod max_queue_size, to force each subscriber to define their own
* Peer now keeps a list of actual PeerSubscribers instead of just their msg queues
* PeerSubscriber provides APIs to add msgs to queue and check queue
  size, abstracting underlying implementation
* If an attempt is made to add a msg but the queue is full, we log a
  warning and drop the msg (Closes: #1032)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant