[Date Prev][Date Next]
Re: LMDB: issue with mdb_cursor_del
- To: Howard Chu <email@example.com>, firstname.lastname@example.org
- Subject: Re: LMDB: issue with mdb_cursor_del
- From: email@example.com
- Date: Tue, 17 Oct 2017 20:13:08 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:in-reply-to:references:date:mime-version :content-transfer-encoding; bh=YzSyJ/gBIHAcyhO1huJRxB8w12J/D5u/E2TC81Z1ADQ=; b=sMyhj7HSJnewJmwBxqTblIG9yPbLc8IBsOpZ2UYbdLEIQGxBLkxJrFYYzNpsJHqi4p oI+hY/NFfh9kDiID63OnHoKVnMpZvMYIA9qU9/fuMGbVQhUBVeBqeJrXyIkUT9sBlWb2 0Z5jTL6BS0E19thNudEpTRwbT/EcyEqIwxVxG6SsKNL3T43fHuBxZFtbqwrzwQ6WA+Hm X9eImvyPfFaWLykLVdbKEPH3tIHrKDmOSFFYRAO/jX7uRXlMp+0WYJIb860s3N3AQYg0 HBsgk7aWmqy5i27fGLGOy/LzEQBwOwE6dSNzTUvYymFNzfLPLVUAfVxPShlp9nL+Axcj xIzQ==
- In-reply-to: <firstname.lastname@example.org>
- References: <email@example.com> <WMfirstname.lastname@example.org> <email@example.com>
On Mon, 2017-10-16 at 11:51 +0100, Howard Chu wrote:
> > It appears that it couldn't mark a page as dirty.
> > Here is the relevant assertion from mdb_page_dirty:
> > rc = insert(txn->mt_u.dirty_list, &mid);
> > mdb_tassert(txn, rc == 0); // assertion failed
> > What might I be doing wrong in my application that triggers this
> > sort
> > of error?
> Take a look at the value of rc, then look in midl.c.
I've taken a look.
The value of rc is -1, which according to the mdb_mid2l_insert code
means that it's a duplicate value, so the page is already in the txn's
dirty pages list.
Since it comes from an mdb_page_alloc call, it is a bit weird that the
newly allocated page is already on the list, but maybe it's a reused
> Most likely the dirty
> list is too big, which means you're trying to do too much in a single
The code did work on the compacted database, and it was doing exactly
the same operations on it, so this was unlikely.