[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#8406) LMDB: Assertion 'mc->mc_flags & C_INITIALIZED' with MDB_NEXT after mdb_cursor_del
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#8406) LMDB: Assertion 'mc->mc_flags & C_INITIALIZED' with MDB_NEXT after mdb_cursor_del
- From: h.b.furuseth@usit.uio.no
- Date: Tue, 18 Oct 2016 00:26:58 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
[Copied from IRC chat]
The fix is wrong - this commit broke cursor tracking:
37081325f7356587c5e6 "ITS#8406 fix xcursors after cursor_del"
Demo:
mtest_rand -v -f700 -i3 -p0x1000 -r1276664687.3
It sets C_DEL on the wrong xcursor, one which is at
a different key than the deleted key. Like this:
put key1, data1
put[cursor] key2, data2
del key1, data1
Now [cursor].mx_cursor has C_DEL.
This also breaks - probably the same bug:
mtest_rand -v -c7 -f326 -p0x800 -r2712746413
--
Hallvard