ether-camp / ethereum-harmony

DEPRECATED! Ethereum Independent Peer
GNU General Public License v3.0
253 stars 89 forks source link

Can sb tell me why this error happened,this error happend constantly in System Logs module , it seems like RLP problem when sync data to another node #125

Open nearLin opened 5 years ago

nearLin commented 5 years ago

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

zilm13 commented 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

nearLin commented 5 years ago

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 .

zilm13 commented 5 years ago

@nearLin I need more info: what network, fast or regular sync etc. This RLP is incorrect and I need some more info to help.

nearLin commented 5 years ago

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.

zilm13 commented 5 years ago

@nearlin all nodes Harmony? Have you changed versions?

nearLin commented 5 years ago

@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...

zilm13 commented 5 years ago

@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?