diff --git a/src/cpp/ripple/Ledger.cpp b/src/cpp/ripple/Ledger.cpp index 691ce64e8..76c9d5b3e 100644 --- a/src/cpp/ripple/Ledger.cpp +++ b/src/cpp/ripple/Ledger.cpp @@ -961,10 +961,16 @@ uint256 Ledger::getLedgerHash(uint32 ledgerIndex) } if (ledgerIndex == mLedgerSeq) + { + cLog(lsWARNING) << ledgerIndex << " found in header"; return getHash(); + } if (ledgerIndex == (mLedgerSeq - 1)) + { + cLog(lsWARNING) << ledgerIndex << " found in parenthash"; return mParentHash; + } // within 256 int diff = mLedgerSeq - ledgerIndex; @@ -976,11 +982,14 @@ uint256 Ledger::getLedgerHash(uint32 ledgerIndex) assert(hashIndex->getFieldU32(sfLastLedgerSequence) == (mLedgerSeq - 1)); STVector256 vec = hashIndex->getFieldV256(sfHashes); if (vec.size() >= diff) + { + cLog(lsWARNING) << ledgerIndex << " found in normal list"; return vec.at(vec.size() - diff); + } cLog(lsWARNING) << "Ledger " << mLedgerSeq << " missing hash for " << ledgerIndex << " (" << vec.size() << "," << diff << ")"; } - else cLog(lsWARNING) << "Ledger " << ledgerIndex << ":" << getHash() << " missing skiplist"; + else cLog(lsWARNING) << "Ledger " << mLedgerSeq << ":" << getHash() << " missing normal list"; } if ((ledgerIndex & 0xff) != 0) @@ -1000,7 +1009,10 @@ uint256 Ledger::getLedgerHash(uint32 ledgerIndex) STVector256 vec = hashIndex->getFieldV256(sfHashes); if (vec.size() > sDiff) + { + cLog(lsWARNING) << ledgerIndex << " found in skip list"; return vec.at(vec.size() - sDiff - 1); + } } cLog(lsWARNING) << "Can't get seq " << ledgerIndex << " from " << mLedgerSeq << " error";