[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#8622) Getting MDB_CORRUPTED when deleting within a DUPSORT database

Full_Name: Hallvard B Furuseth
Version: LMDB_0.9.19, mdb.master
OS: Linux x86_64
URL: http://www.openldap.org/lists/openldap-technical/201703/msg00043.html
Submission from: (NULL) (
Submitted by: hallvard

This is Klaus Malorny's test case from openldap-technical (linked
below).  Compiled with gcc -std=gnu99.  Breaks mdv.master and mdb.RE:
33000000 records written
mdb_cursor_get: unexpected error -30796: MDB_CORRUPTED: Located page was wrong

In LMDB 0.9.18, the test case instead asserted:
mdb.c:5647: Assertion 'mc->mc_flags & C_INITIALIZED' failed in

That was fixed by commit b46fc3e438d8085d5e5fc7d558c0002ee1e2753c
"ITS#8406 fix xcursors after cursor_del".

Then it broke again at 6b1df0e4c7fadd21d1233d7157229b2d89ccaa04 "More
for ITS#8406 (xcursor fixups)", giving the MDB_CORRUPTED.