Peer._run_decoded_packets of <Peer('127.0.0.1', 29871) HydraChain/v0.0.1> failed with AssertionError
jorisbontje opened this issue · 3 comments
jorisbontje commented
with 63229e0, and 3 nodes:
$ hydrachain -d datadir rundummy --num_validators=3 --node_num=0 --seed=42
$ hydrachain -d datadir1 rundummy --num_validators=3 --node_num=1 --seed=42
$ hydrachain -d datadir2 rundummy --num_validators=3 --node_num=2 --seed=42
As soon as the 3rd node connects, the other two crash with the following exception:
INFO:p2p.peermgr connecting random node=<Node(6299bf5d)>
INFO:p2p.peermgr missing peers known=1 num_peers=1 min_peers=2
INFO:p2p.peermgr connecting random node=<Node(6299bf5d)>
INFO:p2p.peermgr missing peers known=1 num_peers=1 min_peers=2
INFO:p2p.peermgr connecting random node=<Node(6299bf5d)>
INFO:p2p.peermgr missing peers known=1 num_peers=1 min_peers=2
INFO:p2p.peermgr connecting random node=<Node(2f099886)>
INFO:p2p.peer received hello client_version=HydraChain/v0.0.1/darwin/py2.7.10 version=4 capabilities=[['hdc', 1], ['p2p', 4]]
CRITICAL:hdc.chainservice setting up alarm
Traceback (most recent call last):
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/gevent-1.1b3-py2.7-macosx-10.10-x86_64.egg/gevent/greenlet.py", line 519, in run
result = self._run(*self.args, **self.kwargs)
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/devp2p-0.5.2-py2.7.egg/devp2p/peer.py", line 206, in _run_decoded_packets
self._handle_packet(self.mux.packet_queue.get()) # get_packet blocks
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/devp2p-0.5.2-py2.7.egg/devp2p/peer.py", line 180, in _handle_packet
protocol.receive_packet(packet)
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/devp2p-0.5.2-py2.7.egg/devp2p/protocol.py", line 163, in receive_packet
cmd(packet)
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/devp2p-0.5.2-py2.7.egg/devp2p/protocol.py", line 135, in receive
instance.receive(proto=self, data=klass.decode_payload(packet.payload))
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/devp2p-0.5.2-py2.7.egg/devp2p/protocol.py", line 71, in receive
cb(proto, **data)
File "/Users/mids/Projects/ethereum/hydrachain/hydrachain/hdc_service.py", line 319, in on_receive_vote
self.consensus_manager.process()
File "/Users/mids/Projects/ethereum/hydrachain/hydrachain/consensus/manager.py", line 338, in process
self.commit()
File "/Users/mids/Projects/ethereum/hydrachain/hydrachain/consensus/manager.py", line 360, in commit
assert success
AssertionError
<Greenlet at 0x107f1ceb0: <bound method Peer._run_decoded_packets of <Peer('127.0.0.1', 29871) HydraChain/v0.0.1>>> failed with AssertionError
Traceback (most recent call last):
File "/Users/mids/.virtualenvs/hydrachain/bin/hydrachain", line 9, in <module>
load_entry_point('hydrachain==0.0.1', 'console_scripts', 'hydrachain')()
File "/Users/mids/Projects/ethereum/hydrachain/hydrachain/app.py", line 148, in app
pyethapp_app.app()
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/click-5.1-py2.7.egg/click/core.py", line 700, in __call__
return self.main(*args, **kwargs)
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/click-5.1-py2.7.egg/click/core.py", line 680, in main
rv = self.invoke(ctx)
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/click-5.1-py2.7.egg/click/core.py", line 1027, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/click-5.1-py2.7.egg/click/core.py", line 873, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/click-5.1-py2.7.egg/click/core.py", line 508, in invoke
return callback(*args, **kwargs)
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/click-5.1-py2.7.egg/click/decorators.py", line 16, in new_func
return f(get_current_context(), *args, **kwargs)
File "/Users/mids/Projects/ethereum/hydrachain/hydrachain/app.py", line 141, in rundummy
evt.wait()
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/gevent-1.1b3-py2.7-macosx-10.10-x86_64.egg/gevent/event.py", line 86, in wait
result = self.hub.switch()
File "/Users/mids/.virtualenvs/hydrachain/lib/python2.7/site-packages/gevent-1.1b3-py2.7-macosx-10.10-x86_64.egg/gevent/hub.py", line 510, in switch
return greenlet.switch(self)
AssertionError
heikoheiko commented
mhm, can not reproduce this.
does this also happen with fresh empty datadirs?
jorisbontje commented
The specified datadirs were not existing beforehand
heikoheiko commented
DEBUG:hdc.consensus 1441896231 <CP A:'2ca7fd47' H:1 R:3 L:None I:0> no quorum for {'p': <BlockProposal S:'2ca7fd47' H:1 B:30eba15d>}
DEBUG:eth.chain nonce not set block_hash=<Block(#1 11fa56bc)>
ok, could reproduce. fixed in ethereum/pyethereum@cd9ec82