https://bugs.openldap.org/show_bug.cgi?id=9567

Howard Chu <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #1 from Howard Chu <[email protected]> ---
Thanks for the report, but this is a postfix bug, not an LMDB bug.

####
gdb) r
Starting program: /home/software/postfix-3.6.0/bin/postmap lmdb:/tmp/aa
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, mdb_txn_end (txn=0x0, mode=0) at mdb.c:3314
3314    {
(gdb) bt
#0  mdb_txn_end (txn=0x0, mode=0) at mdb.c:3314
#1  0x0000555555597c8b in mdb_txn_abort (txn=0x5555555e7c80) at mdb.c:3428
#2  0x000055555558a497 in slmdb_put (slmdb=0x5555555e7fc8,
mdb_key=0x7fffffffe410, mdb_value=0x7fffffffe420, flags=16) at slmdb.c:585
#3  0x0000555555588bf3 in dict_lmdb_update (dict=0x5555555e7f30,
name=0x5555555e3050 "aa", value=0x5555555e5753 "2") at dict_lmdb.c:274
#4  0x000055555555cc07 in postmap (map_type=0x7fffffffead8 "lmdb",
path_name=0x7fffffffeadd "/tmp/aa", postmap_flags=3, open_flags=578,
dict_flags=671745) at postmap.c:546
#5  0x000055555555e6ec in main (argc=2, argv=0x7fffffffe778) at postmap.c:1140
(gdb) up
#1  0x0000555555597c8b in mdb_txn_abort (txn=0x5555555e7c80) at mdb.c:3428
3428            mdb_txn_end(txn, MDB_END_ABORT|MDB_END_SLOT|MDB_END_FREE);
(gdb) down
#0  mdb_txn_end (txn=0x0, mode=0) at mdb.c:3314
3314    {
(gdb) n
3315            MDB_env *env = txn->mt_env;
(gdb) bt
#0  mdb_txn_end (txn=0x5555555e7c80, mode=2097186) at mdb.c:3315
#1  0x0000555555597c8b in mdb_txn_abort (txn=0x5555555e7c80) at mdb.c:3428
#2  0x000055555558a497 in slmdb_put (slmdb=0x5555555e7fc8,
mdb_key=0x7fffffffe410, mdb_value=0x7fffffffe420, flags=16) at slmdb.c:585
#3  0x0000555555588bf3 in dict_lmdb_update (dict=0x5555555e7f30,
name=0x5555555e3050 "aa", value=0x5555555e5753 "2") at dict_lmdb.c:274
#4  0x000055555555cc07 in postmap (map_type=0x7fffffffead8 "lmdb",
path_name=0x7fffffffeadd "/tmp/aa", postmap_flags=3, open_flags=578,
dict_flags=671745) at postmap.c:546
#5  0x000055555555e6ec in main (argc=2, argv=0x7fffffffe778) at postmap.c:1140
(gdb) n
####

slmdb.c:585 calls mdb_txn_abort() on a txn which was assigned from slmdb->txn.
When mdb_txn_abort() returns, txn is no longer valid. slmdb->txn must be set to
NULL here and that's not happening. So slmdb is closing the same txn twice,
which is a user error. Please report this to the postfix developers, thanks.

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to