restart sync on getting old unknown header

This commit is contained in:
arkpar 2016-03-16 18:25:32 +01:00
parent 5a96f99a8c
commit b9584b7ec9

View File

@ -402,6 +402,12 @@ impl ChainSync {
debug!(target: "sync", "Mismatched block header {}", number + 1); debug!(target: "sync", "Mismatched block header {}", number + 1);
self.remove_downloaded_blocks(number + 1); self.remove_downloaded_blocks(number + 1);
} }
if self.have_common_block && number < self.current_base_block() + 1 {
// unkown header
debug!(target: "sync", "Old block header {:?} ({}) is unknown, restarting sync", hash, number);
self.restart(io);
return Ok(());
}
} }
let hdr = Header { let hdr = Header {
data: try!(r.at(i)).as_raw().to_vec(), data: try!(r.at(i)).as_raw().to_vec(),