cryptonote_protocol_handler.inl: remove span read just now that failed to pass some basic tests

(cherry picked from commit 3880bf396a)
This commit is contained in:
stoffu 2018-04-28 11:10:59 +09:00 committed by Matthew Incognito
parent 70117562d5
commit ac0b4b932f

View file

@ -1008,6 +1008,7 @@ skip:
if (blocks.empty()) if (blocks.empty())
{ {
MERROR("Next span has no blocks"); MERROR("Next span has no blocks");
m_block_queue.remove_spans(span_connection_id, start_height);
break; break;
} }
@ -1015,6 +1016,7 @@ skip:
if (!parse_and_validate_block_from_blob(blocks.front().block, new_block)) if (!parse_and_validate_block_from_blob(blocks.front().block, new_block))
{ {
MERROR("Failed to parse block, but it should already have been parsed"); MERROR("Failed to parse block, but it should already have been parsed");
m_block_queue.remove_spans(span_connection_id, start_height);
break; break;
} }
bool parent_known = m_core.have_block(new_block.prev_id); bool parent_known = m_core.have_block(new_block.prev_id);
@ -1031,6 +1033,7 @@ skip:
// this can happen if a connection was sicced onto a late span, if it did not have those blocks, // this can happen if a connection was sicced onto a late span, if it did not have those blocks,
// since we don't know that at the sic time // since we don't know that at the sic time
LOG_ERROR_CCONTEXT("Got block with unknown parent which was not requested - querying block hashes"); LOG_ERROR_CCONTEXT("Got block with unknown parent which was not requested - querying block hashes");
m_block_queue.remove_spans(span_connection_id, start_height);
context.m_needed_objects.clear(); context.m_needed_objects.clear();
context.m_last_response_height = 0; context.m_last_response_height = 0;
goto skip; goto skip;