Browse Source

fix crash/lockup on KMD with mining pools when an old utxo makes IsFinalTx fail in TestBlockValidity.

warmup
blackjok3r 5 years ago
parent
commit
eca62bb4f3
  1. 3
      src/miner.cpp
  2. 3
      src/rpc/mining.cpp

3
src/miner.cpp

@ -819,7 +819,8 @@ CBlockTemplate* CreateNewBlock(CPubKey _pk,const CScript& _scriptPubKeyIn, int32
LEAVE_CRITICAL_SECTION(cs_main);
LEAVE_CRITICAL_SECTION(mempool.cs);
}
throw std::runtime_error("CreateNewBlock(): TestBlockValidity failed");
//throw std::runtime_error("CreateNewBlock(): TestBlockValidity failed"); // crashes the node, moved to GetBlockTemplate and issue return.
return(0);
}
//fprintf(stderr,"valid\n");
}

3
src/rpc/mining.cpp

@ -745,7 +745,8 @@ UniValue getblocktemplate(const UniValue& params, bool fHelp)
#endif
ENTER_CRITICAL_SECTION(cs_main);
if (!pblocktemplate)
throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory or no available utxo for staking");
throw std::runtime_error("CreateNewBlock(): create block failed");
//throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory or no available utxo for staking");
// Need to update only after we know CreateNewBlockWithKey succeeded
pindexPrev = pindexPrevNew;

Loading…
Cancel
Save