https://bugs.openldap.org/show_bug.cgi?id=10529
--- Comment #2 from Howard Chu hyc@openldap.org --- (In reply to christopher@gmerlin.de from comment #0)
When testing the OCaml bindings with lmdb 1.0 I encountered this assertion failure: at src/mdb.c:7588: Assertion 'root > 1' failed in mdb_page_search()")
It was triggered by:
- start transaction
- add new key-value
- commit transaction
- rollback transaction
- start read only transaction
- try to get any key -> assertion failure
Unable to reproduce. On a freshly created DB, where these steps are the very first transaction in the environment, the rollback yields MDB_CANT_ROLLBACK because the txnid is 1 and it can't rollback to txnid 0 (which is not a valid txnid).
On a freshly created DB, where other data was added in txnid 1, and these steps are performed using txnid 2, the rollback succeeds and the subsequent readonly txn works fine.
Please provide the actual code to reproduce your issue.