nim-eth icon indicating copy to clipboard operation
nim-eth copied to clipboard

Possibly wrong rlp (de)serialisation of NewBlockAnnounce

Open kdeme opened this issue 6 years ago • 0 comments

The eth_protocol message newBlock is currently not used, but I noticed several different rlp deserialisation errors from incoming messages, so it looks like something is wrong there. To be investigated...

e.g. errors:

DBG 2019-06-14 13:07:29+02:00 Failed rlp.read                            tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:470 exception="Int expected, but found a List" msg=NewBlockAnnounce peer=Node[159.100.254.92:30303] rlpData="{\n  byte 88\n  byte 0\n  blob(3) [01D4C0]\n  blob(20) [20E94867794DBA030EE287F1406E100D03C84CD3]\n  \"\"\n  blob(68) [A9059CBB0000000000000000000000007B74C19124A9CA92C6141A2ED5F92130FC2791F200000000000000000000000000000000000000000000007E9A2F86853F440000]\n}"
DBG 2019-06-14 13:07:29+02:00 RlpError, ending dispatchMessages loop     topics="rlpx" tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:558 clientId=Geth/v1.8.23-stable-c9427004/linux-amd64/go1.10.4 msg=newBlock peer=Node[159.100.254.92:30303]

DBG 2019-06-14 13:29:37+02:00 Failed rlp.read                            tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:470 exception="The RLP contains a larger than expected Int value" msg=NewBlockAnnounce peer=Node[195.201.192.23:30304] rlpData="blob(20) [8E71B195D9CC953F46F41AD013BA1147464B621D]"
DBG 2019-06-14 13:29:37+02:00 RlpError, ending dispatchMessages loop     topics="rlpx" tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:558 clientId=Geth/v1.8.27-stable-noku-ae734200/linux-amd64/go1.11.4 msg=newBlock peer=Node[195.201.192.23:30304]

DBG 2019-06-14 13:30:36+02:00 Failed rlp.read                            tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:470 exception="Sequence expected, but the source RLP is not a list." msg=NewBlockAnnounce peer=Node[212.32.246.39:30314] rlpData="blob(9) [23BCCD842D5D4D0C2B]"
DBG 2019-06-14 13:30:36+02:00 RlpError, ending dispatchMessages loop     topics="rlpx" tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:558 clientId=Geth/v5.4.3/linux/go1.9.7 msg=newBlock peer=Node[212.32.246.39:30314]

DBG 2019-06-14 12:46:09+02:00 Failed rlp.read                            tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:470 exception="Fixed-size array expected, but the source RLP contains a blob of different length" msg=NewBlockAnnounce peer=Node[77.223.66.87:30303] rlpData="blob(2) [5208]"
DBG 2019-06-14 12:46:09+02:00 RlpError, ending dispatchMessages loop     topics="rlpx" tid=30804 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:558 clientId=Geth/v1.8.25-stable/linux-amd64/go1.11.5 msg=newBlock peer=Node[77.223.66.87:30303]

DBG 2019-06-14 15:13:52+02:00 Failed rlp.read                            tid=1332 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:469 dataType=NewBlockAnnounce exception="Small number encoded in a non-canonical way" peer=Node[35.158.27.128:30303]
DBG 2019-06-14 15:13:52+02:00 RlpError, ending dispatchMessages loop     topics="rlpx" tid=1332 file=../../../.nimble/pkgs/eth-1.0.0/eth/p2p/rlpx.nim:556 clientId=Geth/v1.8.23-stable-c9427004/linux-amd64/go1.10.4 msg=newBlock peer=Node[35.158.27.128:30303]

kdeme avatar Jun 15 '19 19:06 kdeme