Closed aszepieniec closed 5 months ago
After restarting the node again, it synchronizes without any issues.
hmm, I took a quick look and I don't see anything obviously wrong. This line:
Could not read current block. Aborting block synchronization
is produced by:
let current_block = match self.global_state.chain.light_state.latest_block.try_lock() {
Ok(lock) => lock.to_owned(),
// If we can't acquire lock on latest block header, don't block. Just exit and try again next
// time.
Err(_) => {
warn!("Could not read current block. Aborting block synchronization");
return Ok(());
}
};
latest_block
is a tokio::sync::Mutex, and try_lock()
only fails (immediately) if another task is holding the lock. In this case, we log a warning and return Ok
and the caller just sets a timer and then tries again.
I'm thinking perhaps the other task holding the lock is causing the problem. If/when it happens again, please check if there are any other abnormal log messages prior. Also I will be on the lookout for this in my node.
this is pretty old, and code has changed a lot. closing.
After restarting the node from the crash, the node crashes again with the log ending in this:
I had to kill the process with
kill -9
.