opensource@gmx-topmail.de wrote:
Hello,
We build an Android app with LMDB and are now seeing an error report with the following info: error -30796: MDB_CORRUPTED: Located page was wrong type
We also logged some general info about the DB: entries=25381 depth=3 branch-pages=43 leaf-pages=891 overflow-pages=10 page-size=4096 last-page-number=4464 last-tx-id=3752 size=536870912 max-readers=126 readers=4
It is an Android 6.0.1 device, and that's about all the info we have. Unfortunately we do not have the DB files etc.
The app runs a LMDB version from mdb.master (45a8827 Howard Chu on 9/1/16 at 1:41 AM, ITS#8489 reset cursor EOF flag in cursor_set).
Generally you should not use mdb.master in production, as it's a development branch.
DB curruption sounds like a rather bad issue. Any idea how this could have happend?
Not offhand. We've seen a few corruptions on Windows due to running without fully synchronous transactions, with OS crashes and/or faulty hard drives. It's pretty rare for phones to crash though.
Also, is there any chance to repair this DB (automatically)?
Nothing automated at present. If you had the DB files you could try to scan the DB using the previous meta-page to see if it's still intact.
Thanks for your help, Markus