diff --git a/framework/src/main/java/org/tron/core/net/messagehandler/SyncBlockChainMsgHandler.java b/framework/src/main/java/org/tron/core/net/messagehandler/SyncBlockChainMsgHandler.java index f751064d97e..65702c435f8 100644 --- a/framework/src/main/java/org/tron/core/net/messagehandler/SyncBlockChainMsgHandler.java +++ b/framework/src/main/java/org/tron/core/net/messagehandler/SyncBlockChainMsgHandler.java @@ -15,6 +15,7 @@ import org.tron.core.net.message.SyncBlockChainMessage; import org.tron.core.net.message.TronMessage; import org.tron.core.net.peer.PeerConnection; +import org.tron.protos.Protocol; @Slf4j(topic = "net") @Component @@ -36,7 +37,11 @@ public void processMessage(PeerConnection peer, TronMessage msg) throws P2pExcep LinkedList blockIds = getLostBlockIds(summaryChainIds); - if (blockIds.size() == 1) { + if (blockIds.size() == 0) { + logger.error("Can't get lost block Ids."); + peer.disconnect(Protocol.ReasonCode.INCOMPATIBLE_CHAIN); + return; + } else if (blockIds.size() == 1) { peer.setNeedSyncFromUs(false); } else { peer.setNeedSyncFromUs(true);