[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) (193.157.240.142)
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
testing
mdb_cursor_get: unexpected error -30796: MDB_CORRUPTED: Located page was wrong
type
In LMDB 0.9.18, the test case instead asserted:
mdb.c:5647: Assertion 'mc->mc_flags & C_INITIALIZED' failed in
mdb_cursor_next()
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.