Open nearLin opened 5 years ago
@nearLin it looks just like incorrect HelloMessage
received on handshake from another node. There could be several reasons why other node sends incorrect handshake message, but most common are: 1) old node with obsolete, incompatible protocol, 2) malicious node built to attack other nodes
thx , zilm . but the reason you speculated maybe not appropriate in my occasion. cuz i only got two node , and each node is totally the samething . so i dont know why this happened , and how to revert to the normal .
@nearLin I need more info: what network, fast or regular sync etc. This RLP is incorrect and I need some more info to help.
thx @zilm13 ! what i can tell u is private network , regular sync . by the way these two sync node ran smoothly for 3 month until this error happened.
@nearlin all nodes Harmony? Have you changed versions?
@zilm13 yes harmony , and the jar is the same version , cuz i running this by docker images . so i get confused ... harmony seems not so stable...
@nearLin could you, please, enable trace
logs (wire
https://github.com/ethereum/ethereumj/blob/develop/ethereumj-core/src/main/resources/logback.xml#L59 and net
https://github.com/ethereum/ethereumj/blob/develop/ethereumj-core/src/main/resources/logback.xml#L54 ) and log some prerequisites on both peers? Also, how often this happens? always/sometimes?
Caused by: java.lang.RuntimeException: RLP wrong encoding (6140f85f058b4672616374616c2d503250cecd110ef047546573740180b840e30016f87e9f32895039c5b4fbbb40fbbf04fc2ef93299124a115df8344d81fff070591b2e455f043d2ccc9ffab3b881ce89c426ae111a5400034bb0fe64e1fa) at org.ethereum.util.RLP.fullTraverse(RLP.java:691) at org.ethereum.util.RLP.decode2(RLP.java:550) at org.ethereum.net.p2p.HelloMessage.parse(HelloMessage.java:78) at org.ethereum.net.p2p.HelloMessage.getP2PVersion(HelloMessage.java:133) at org.ethereum.net.server.Channel.publicRLPxHandshakeFinished(Channel.java:172) at org.ethereum.net.rlpx.HandshakeHandler.decodeHandshake(HandshakeHandler.java:187) at org.ethereum.net.rlpx.HandshakeHandler.decode(HandshakeHandler.java:104) at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:327) ... 18 common frames omitted Caused by: java.lang.RuntimeException: Length parsed from RLP (95 bytes) is greater than possible size of data (92 bytes) at org.ethereum.util.RLP.verifyLength(RLP.java:705) at org.ethereum.util.RLP.calcLength(RLP.java:530) at org.ethereum.util.RLP.fullTraverse(RLP.java:581) ... 25 common frames omitted