From b5761c33b6f259c29f22d4171b6cb34c7788b650 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Fri, 10 Apr 2015 19:53:08 +0200 Subject: [PATCH] logging for jchow. testing for ethashcl. --- exp/main.cpp | 12 +++--------- libdevcore/Common.cpp | 2 +- libethcore/ProofOfWork.cpp | 3 +++ libethereum/BlockChain.cpp | 2 +- libethereum/Client.cpp | 18 +++++++++++++++--- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/exp/main.cpp b/exp/main.cpp index 6c067f83e..6887e6c49 100644 --- a/exp/main.cpp +++ b/exp/main.cpp @@ -108,20 +108,14 @@ int main() #else int main() { - std::vector platforms; - cl::Platform::get(&platforms); - if (platforms.empty()) - { - cdebug << "No OpenCL platforms found."; - return false; - } - EthashCL ecl; BlockInfo genesis = CanonBlockChain::genesis(); - TransientDirectory td; + genesis.difficulty = 1 << 18; + cdebug << (h256)u256((bigint(1) << 256) / genesis.difficulty); std::pair r; while (!r.first.completed) r = ecl.mine(genesis, 1000); + cdebug << r.second.mixHash << r.second.nonce; EthashCL::assignResult(r.second, genesis); assert(EthashCPU::verify(genesis)); return 0; diff --git a/libdevcore/Common.cpp b/libdevcore/Common.cpp index 75780fb10..b6e8e7f93 100644 --- a/libdevcore/Common.cpp +++ b/libdevcore/Common.cpp @@ -27,7 +27,7 @@ using namespace dev; namespace dev { -char const* Version = "0.9.6"; +char const* Version = "0.9.7"; } diff --git a/libethcore/ProofOfWork.cpp b/libethcore/ProofOfWork.cpp index c87f51a78..f85205484 100644 --- a/libethcore/ProofOfWork.cpp +++ b/libethcore/ProofOfWork.cpp @@ -128,6 +128,7 @@ struct EthashCLHook: public ethash_cl_miner::search_hook { void abort() { + cdebug << "Attempting to abort"; if (m_aborted) return; m_abort = true; @@ -149,12 +150,14 @@ protected: for (unsigned i = 0; i < _count; ++i) m_found.push_back((Nonce)(u64)_nonces[i]); m_aborted = true; + cdebug << "Found nonces: " << vector(_nonces, _nonces + _count); return true; } virtual bool searched(uint64_t _startNonce, uint32_t _count) override { Guard l(x_all); + cdebug << "Searched" << _count << "from" << _startNonce; m_total += _count; m_last = _startNonce + _count; if (m_abort) diff --git a/libethereum/BlockChain.cpp b/libethereum/BlockChain.cpp index cb2d26eff..bf2bce4fe 100644 --- a/libethereum/BlockChain.cpp +++ b/libethereum/BlockChain.cpp @@ -601,7 +601,7 @@ pair BlockChain::import(bytes const& _block, OverlayDB const& _db, m_extrasDB->Put(m_writeOptions, toSlice(h, ExtraTransactionAddress), (ldb::Slice)dev::ref(m_transactionAddresses[h].rlp())); } - clog(BlockChainNote) << " Imported and best" << td << ". Has" << (details(bi.parentHash).children.size() - 1) << "siblings. Route:" << toString(route); + clog(BlockChainNote) << " Imported and best" << td << " (#" << bi.number << "). Has" << (details(bi.parentHash).children.size() - 1) << "siblings. Route:" << toString(route); noteCanonChanged(); StructuredLogger::chainNewHead( diff --git a/libethereum/Client.cpp b/libethereum/Client.cpp index 87f474afe..8c2d2b4fa 100644 --- a/libethereum/Client.cpp +++ b/libethereum/Client.cpp @@ -259,16 +259,28 @@ void Client::clearPending() noteChanged(changeds); } +template +static string filtersToString(T const& _fs) +{ + stringstream ret; + ret << "{"; + bool i = false; + for (h256 const& f: _fs) + ret << (i++ ? ", " : "") << (f == PendingChangedFilter ? "pending" : f == ChainChangedFilter ? "chain" : f.abridged()); + ret << "}"; + return ret.str(); +} + void Client::noteChanged(h256Set const& _filters) { Guard l(x_filtersWatches); if (_filters.size()) - cnote << "noteChanged(" << _filters << ")"; + cnote << "noteChanged(" << filtersToString(_filters) << ")"; // accrue all changes left in each filter into the watches. for (auto& w: m_watches) if (_filters.count(w.second.id)) { - cwatch << "!!!" << w.first << w.second.id; + cwatch << "!!!" << w.first << (m_filters.count(w.second.id) ? w.second.id.abridged() : w.second.id == PendingChangedFilter ? "pending" : w.second.id == ChainChangedFilter ? "chain" : "???"); if (m_filters.count(w.second.id)) // Normal filtering watch w.second.changes += m_filters.at(w.second.id).changes; else // Special ('pending'/'latest') watch @@ -523,7 +535,7 @@ void Client::doWork() clog(ClientChat) << "Live block:" << h.abridged(); for (auto const& th: m_bc.transactionHashes(h)) { - clog(ClientNote) << "Safely dropping transaction " << th; + clog(ClientNote) << "Safely dropping transaction " << th.abridged(); m_tq.drop(th); } }