Open dsiganos opened 7 months ago
I am working on this!
One hack for printing the lmdb error is this:
release_assert (status == MDB_SUCCESS, mdb_strerror (status));
release_assert (false && "Unable to write to the LMDB database", mdb_strerror (status));
Currently we assert if we receive any kind of error from lmdb, in a number of lmdb related functions. It would be useful to know what kind of error was returned to help us debug some of those asserts. We should change the functions that assert on lmdb error to print information about the error before assessing. The file is: nano/store/lmdb/transaction.cpp
We should make them print information about the error, at least the error code and any error messages that may be applicable.
The functions are (this might not be a complete list):
A related crash is: https://github.com/nanocurrency/nano-node/issues/4369