diff --git a/src/cpp/ripple/Ledger.cpp b/src/cpp/ripple/Ledger.cpp index 2927ce0159..5079226661 100644 --- a/src/cpp/ripple/Ledger.cpp +++ b/src/cpp/ripple/Ledger.cpp @@ -955,7 +955,10 @@ uint256 Ledger::getLedgerHash(uint32 ledgerIndex) // easy cases if (ledgerIndex > mLedgerSeq) + { + cLog(lsWARNING) << "Can't get seq " << ledgerIndex << " from " << mLedgerSeq << " future"; return uint256(); + } if (ledgerIndex == mLedgerSeq) return getHash(); @@ -978,7 +981,10 @@ uint256 Ledger::getLedgerHash(uint32 ledgerIndex) } if ((ledgerIndex & 0xff) != 0) + { + cLog(lsWARNING) << "Can't get seq " << ledgerIndex << " from " << mLedgerSeq << " past"; return uint256(); + } // in skiplist SLE::pointer hashIndex = getSLE(getLedgerHashIndex(ledgerIndex)); @@ -994,6 +1000,7 @@ uint256 Ledger::getLedgerHash(uint32 ledgerIndex) return vec.at(vec.size() - sDiff - 1); } + cLog(lsWARNING) << "Can't get seq " << ledgerIndex << " from " << mLedgerSeq << " error"; return uint256(); } diff --git a/src/cpp/ripple/LedgerMaster.cpp b/src/cpp/ripple/LedgerMaster.cpp index 76c8795d9d..71602afaa5 100644 --- a/src/cpp/ripple/LedgerMaster.cpp +++ b/src/cpp/ripple/LedgerMaster.cpp @@ -426,7 +426,12 @@ void LedgerMaster::tryPublish() else { hash = mValidLedger->getLedgerHash(seq); - assert(hash.isNonZero()); + if (hash.isZero()) + { + cLog(lsFATAL) << "Ledger: " << mValidLedger->getLedgerSeq() << " does not have hash for " << + seq; + assert(false); + } ledger = mLedgerHistory.getLedgerByHash(hash); }