[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#8443) segfault in lmdb following mdb_env_set_mapsize
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#8443) segfault in lmdb following mdb_env_set_mapsize
- From: hyc@symas.com
- Date: Tue, 14 Jun 2016 00:31:12 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
gdochev@yahoo.com wrote:
> Full_Name: George Dochev
> Version:
> OS: Windows/OSX/Linux
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (2601:582:4500:e134:1d59:965c:aecc:5697)
>
>
> I updated from 0.9.15 to 0.9.18 and started getting intermittent segfaults in
> one of my unit tests. In my test when I issue mdb_txn_commit and get back
> MDB_MAP_FULL I abort the transaction,
You've misused the API. The txn has already been released by txn_commit, you
cannot call abort on it at that point. This was already clearly spelled out in
the docs for mdb_txn_commit.
Closing this ITS.
expand the database through a call to
> mdb_env_set_mapsize and attempt a retry. In the retry I issue mdb_txn_begin
> again which is where I crash when it calls mdb_txn_renew0(MDB_txn *txn) with txn
> pointing to garbage.
>
> Some additional info which may or may not be relevant:
>
> The db size is 1MB aligned and there are no active transactions prior to the
> call to mdb_env_set_mapsize other than the one that I aborted as a result of the
> MDB_MAP_FULL.
> The environment was initially opened with MDB_NOSYNC | MDB_WRITEMAP |
> MDB_NOMETASYNC | MDB_NOTLS.
>
> The crash is intermittent but reproducible in all my configurations.
>
> Regards,
> George
>
>
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/