diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 473afa450..999442cdd 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -1407,7 +1407,11 @@ namespace cryptonote bool core::prepare_handle_incoming_blocks(const std::vector &blocks_entry, std::vector &blocks) { m_incoming_tx_lock.lock(); - if (!m_blockchain_storage.prepare_handle_incoming_blocks(blocks_entry, blocks)) + bool success = false; + try { success = m_blockchain_storage.prepare_handle_incoming_blocks(blocks_entry, blocks); } + catch (const std::exception &e) { MERROR("Failed prepare handle incoming blocks: " << e.what()); } + catch (...) { MERROR("Failed prepare handling incoming blocks"); } + if (!success) { cleanup_handle_incoming_blocks(false); return false;