[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Resizing of LMDB map
Daniel Kraft wrote:
> Hi!
>
> I'm trying to use LMDB in a way that automatically resizes the map
> whenever it becomes too small, i.e. a function fails with MDB_MAP_FULL.
> I've created and attached a program that resembles my real usecase in a
> very simplified fashion: It just writes data to the database, and tries
> to double the map size whenever MDB_MAP_FULL is received.
>
> However, for me this program (as well as my real code) produces a
> segfault in the mdb_put call that follows after the first resize. What
> am I doing wrong here, and how can I correctly implement a resize when full?
You're attempting to use the txn after committing it. This is basically
a use-after-free attempt, which is why you get a SEGV.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/