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

(ITS#8315) assert in commit(nested txn)



Full_Name: Hallvard B Furuseth
Version: mdb.master, f08b70d0df323ccb33b94a648e9a1b6efd718cae
OS: Linux x86_64
URL: ftp://ftp.openldap.org/incoming/Hallvard-Furuseth-151118-3.c
Submission from: (NULL) (81.191.45.31)
Submitted by: hallvard


commit(nested txn) will sometimes hit
mdb.c:3528:mdb_tassert(txn, i == x).

A fix is to drop the optimization
/* Simplify the above for single-ancestor case */
and always use the "if (parent->mt_parent)" branch.
Don't know yet if that just hides the symptom though.

To reproduce:

gcc -pthread -g -I. Hallvard-Furuseth-151118-3.c
rm -f testdb/*; ./a.out -r313873253