[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#8443) segfault in lmdb following mdb_env_set_mapsize

Full_Name: George Dochev
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, 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
The environment was initially opened with  MDB_NOSYNC | MDB_WRITEMAP |

The crash is intermittent but reproducible in all my configurations.