This commit is contained in:
jl777
2017-03-13 23:03:45 +02:00
parent 1b5b89ba20
commit d4190a2ace
2 changed files with 16 additions and 2 deletions

View File

@@ -3448,13 +3448,25 @@ bool TestBlockValidity(CValidationState &state, const CBlock& block, CBlockIndex
// NOTE: CheckBlockHeader is called by CheckBlock // NOTE: CheckBlockHeader is called by CheckBlock
if (!ContextualCheckBlockHeader(block, state, pindexPrev)) if (!ContextualCheckBlockHeader(block, state, pindexPrev))
{
fprintf(stderr,"TestBlockValidity failure A\n");
return false; return false;
}
if (!CheckBlock(indexDummy.nHeight,0,block, state, verifier, fCheckPOW, fCheckMerkleRoot)) if (!CheckBlock(indexDummy.nHeight,0,block, state, verifier, fCheckPOW, fCheckMerkleRoot))
{
fprintf(stderr,"TestBlockValidity failure B\n");
return false; return false;
}
if (!ContextualCheckBlock(block, state, pindexPrev)) if (!ContextualCheckBlock(block, state, pindexPrev))
{
fprintf(stderr,"TestBlockValidity failure C\n");
return false; return false;
}
if (!ConnectBlock(block, state, &indexDummy, viewNew, true)) if (!ConnectBlock(block, state, &indexDummy, viewNew, true))
{
fprintf(stderr,"TestBlockValidity failure D\n");
return false; return false;
}
assert(state.IsValid()); assert(state.IsValid());
return true; return true;

View File

@@ -426,7 +426,9 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn)
CValidationState state; CValidationState state;
if ( !TestBlockValidity(state, *pblock, pindexPrev, false, false)) if ( !TestBlockValidity(state, *pblock, pindexPrev, false, false))
{ {
fprintf(stderr,"warning: testblockvalidity failed\n"); static uint32_t counter;
if ( counter++ < 100 )
fprintf(stderr,"warning: testblockvalidity failed\n");
return(0); return(0);
//throw std::runtime_error("CreateNewBlock(): TestBlockValidity failed"); //throw std::runtime_error("CreateNewBlock(): TestBlockValidity failed");
} }
@@ -615,7 +617,7 @@ void static BitcoinMiner(CWallet *pwallet)
CBlockTemplate *ptr = CreateNewBlockWithKey(reservekey); CBlockTemplate *ptr = CreateNewBlockWithKey(reservekey);
if ( ptr == 0 ) if ( ptr == 0 )
{ {
static int32_t counter; static uint32_t counter;
if ( counter++ < 100 ) if ( counter++ < 100 )
fprintf(stderr,"created illegal block, retry\n"); fprintf(stderr,"created illegal block, retry\n");
continue; continue;