ethereum / aleth

Aleth – Ethereum C++ client, tools and libraries
GNU General Public License v3.0
3.97k stars 2.17k forks source link

Assert failures in TrieDB.h during sync #4578

Open gumb0 opened 7 years ago

gumb0 commented 7 years ago

Sometimes I see asserts like

eth: /home/ethnode/cpp-ethereum/libdevcore/../libdevcore/TrieDB.h:932: void dev::GenericTrieDB<_DB>::mergeAtAux(dev::RLPStream&, const dev::RLP&, dev::NibbleSlice, dev::bytesConstRef) [with _DB = dev::OverlayDB; dev::bytesConstRef = dev::vector_ref<const unsigned char>]: Assertion `!r.isNull()' failed.

and

eth: /home/ethnode/cpp-ethereum/libdevcore/../libdevcore/TrieDB.h:971: dev::bytes dev::GenericTrieDB<_DB>::deleteAt(const dev::RLP&, dev::NibbleSlice) [with _DB = dev::OverlayDB; dev::bytes = std::vector<unsigned char>]: Assertion `_orig.isList() && (_orig.itemCount() == 2 || _orig.itemCount() == 17)' failed.
chfast commented 7 years ago

See also #4585

sungjik commented 7 years ago

I'm also getting the TrieDB.h:971 assert failure.