This commit is contained in:
jl777
2018-04-15 20:43:36 +03:00
parent caf6b6b54a
commit a1f98933bc

View File

@@ -3091,9 +3091,11 @@ static bool ActivateBestChainStep(CValidationState &state, CBlockIndex *pindexMo
{ {
fBlocksDisconnected = true; fBlocksDisconnected = true;
fprintf(stderr,"%d ",(int32_t)tipindex->nHeight); fprintf(stderr,"%d ",(int32_t)tipindex->nHeight);
InvalidateBlock(state,tipindex);
if ( !DisconnectTip(state) ) if ( !DisconnectTip(state) )
{
InvalidateBlock(state,tipindex);
break; break;
}
} }
fprintf(stderr,"reached rewind.%d, best to do: ./komodo-cli -ac_name=%s stop\n",KOMODO_REWIND,ASSETCHAINS_SYMBOL); fprintf(stderr,"reached rewind.%d, best to do: ./komodo-cli -ac_name=%s stop\n",KOMODO_REWIND,ASSETCHAINS_SYMBOL);
sleep(20); sleep(20);
@@ -3538,9 +3540,11 @@ int32_t komodo_reverify_blockcheck(CValidationState& state,int32_t height,CBlock
while ( rewindtarget > 0 && (tipindex= chainActive.Tip()) != 0 && tipindex->nHeight > rewindtarget ) while ( rewindtarget > 0 && (tipindex= chainActive.Tip()) != 0 && tipindex->nHeight > rewindtarget )
{ {
fprintf(stderr,"%d ",(int32_t)tipindex->nHeight); fprintf(stderr,"%d ",(int32_t)tipindex->nHeight);
InvalidateBlock(state,tipindex);
if ( !DisconnectTip(state) ) if ( !DisconnectTip(state) )
{
InvalidateBlock(state,tipindex);
break; break;
}
} }
tipindex = chainActive.Tip(); tipindex = chainActive.Tip();
fprintf(stderr,"rewind done to %d\n",tipindex!=0?tipindex->nHeight:-1); fprintf(stderr,"rewind done to %d\n",tipindex!=0?tipindex->nHeight:-1);
@@ -3743,7 +3747,8 @@ bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBloc
if ( pindex != 0 && pindex->nStatus & BLOCK_FAILED_MASK ) if ( pindex != 0 && pindex->nStatus & BLOCK_FAILED_MASK )
{ {
komodo_reverify_blockcheck(state,pindex->nHeight,pindex); komodo_reverify_blockcheck(state,pindex->nHeight,pindex);
return state.Invalid(error("%s: block is marked invalid", __func__), 0, "duplicate"); if ( KOMODO_LONGESTCHAIN != 0 && pindex->nHeight > KOMODO_LONGESTCHAIN-100 )
return state.Invalid(error("%s: block is marked invalid", __func__), 0, "duplicate");
} }
if ( pindex != 0 && IsInitialBlockDownload() == 0 ) // jl777 debug test if ( pindex != 0 && IsInitialBlockDownload() == 0 ) // jl777 debug test
{ {