https://bugs.openldap.org/show_bug.cgi?id=9037
--- Comment #33 from Howard Chu hyc@openldap.org --- (In reply to mdufour from comment #31)
I am able to reproduce the crash in a scenario with two processes accessing the same LMDB file, where:
- process1 opens a named database.
- process2 drops this named database.
- process1 writes to the initial named database (using the dbi it was
holding on to) -> this is where we crash.
It seems that mdb_page_search returns MDB_NOTFOUND because the named database is gone, leaving mc->mc_pg[0] NULL.
Thanks for that info. Unfortunately I still can't reproduce that crash. I've attached the test code I wrote based on your info.
It forks off a child to do the process2 actions. You must press RETURN when you're ready for process 1 to proceed. I just get more MDB_NOTFOUND results when process1 tries to write again.