diff --git a/src/LedgerConsensus.cpp b/src/LedgerConsensus.cpp index ce36f0688f..9042b0455a 100644 --- a/src/LedgerConsensus.cpp +++ b/src/LedgerConsensus.cpp @@ -49,6 +49,8 @@ void TransactionAcquire::onTimer() { if (!getPeerCount()) { // out of peers + cLog(lsWARNING) << "Out of peers for TX set " << getHash(); + bool found = false; std::vector peerList = theApp->getConnectionPool().getPeerVector(); BOOST_FOREACH(Peer::ref peer, peerList) @@ -65,7 +67,8 @@ void TransactionAcquire::onTimer() peerHas(peer); } } - trigger(Peer::pointer(), true); + else + trigger(Peer::pointer(), true); } boost::weak_ptr TransactionAcquire::pmDowncast() diff --git a/src/Peer.cpp b/src/Peer.cpp index f039d62443..545856a0b7 100644 --- a/src/Peer.cpp +++ b/src/Peer.cpp @@ -1162,6 +1162,7 @@ void Peer::recvGetLedger(ripple::TMGetLedger& packet) if ((!packet.has_ledgerhash() || packet.ledgerhash().size() != 32)) { punishPeer(PP_INVALID_REQUEST); + cLog(lsWARNING) << "invalid request"; return; } uint256 txHash; @@ -1285,6 +1286,7 @@ void Peer::recvGetLedger(ripple::TMGetLedger& packet) SHAMapNode mn(packet.nodeids(i).data(), packet.nodeids(i).size()); if(!mn.isValid()) { + cLog(lsWARNING) << "Request for invalid node"; punishPeer(PP_INVALID_REQUEST); return; } @@ -1292,6 +1294,8 @@ void Peer::recvGetLedger(ripple::TMGetLedger& packet) std::list< std::vector > rawNodes; if(map->getNodeFat(mn, nodeIDs, rawNodes, fatRoot, fatLeaves)) { + assert(nodeIDs.size() == rawNodes.size()); + cLog(lsDEBUG) << "getNodeFat got " << rawNodes.size() << " nodes"; std::vector::iterator nodeIDIterator; std::list< std::vector >::iterator rawNodeIterator; for(nodeIDIterator = nodeIDs.begin(), rawNodeIterator = rawNodes.begin(); @@ -1304,6 +1308,8 @@ void Peer::recvGetLedger(ripple::TMGetLedger& packet) node->set_nodedata(&rawNodeIterator->front(), rawNodeIterator->size()); } } + else + cLog(lsWARNING) << "getNodeFat returns false"; } PackedMessage::pointer oPacket = boost::make_shared(reply, ripple::mtLEDGER_DATA); sendPacket(oPacket);