https://bugs.openldap.org/show_bug.cgi?id=10180
--- Comment #6 from Howard Chu hyc@openldap.org --- After getting a copy of the DB file, I found
mdb_stat -efff shows that there are a couple of freelist entries with duplicate page IDs. Write txns using those freelist entries would certainly cause corruption.
mdb_dump -a seems to have no problem dumping the current data in the DB. As such, you could safely dump/load to recreate the DB without the freelist errors.
The last transaction ID was 69771 and the two bad freelist entries are from txn 69709 and 69710, respectively. Probably too far into the past to know what it was doing at the time.
If you compile LMDB with -DMDB_DEBUG=3 it will do extensive auditing of the freelist after each transaction. Possibly we can use that to track down when the error occurred, on a fresh run.
No idea how long it would take to reproduce this or what operations are needed to reproduce it.