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

Re: (ITS#7586) MDB tests crash



josephg@gmail.com wrote:
> Full_Name: Joseph Gentle
> Version: Gitorius master 2d6aed7
> OS: MacOS
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (50.1.123.217)
>
>
> Using the latest version of lmdb in https://gitorious.org/mdb/mdb (2d6aed7), I
> went into the liblmdb directory, ran make then ran the tests.
>
> All tests crash with Segmentation Fault. Problem can be reproduced compiling
> with gcc or clang, and gcc on linux.

This is normal behavior. The tests do no error checking. The tests are not 
meant to be run blindly, you are expected to read their source code. 
Ordinarily I only "run" them by single-stepping under gdb so I can examine the 
library state at each point.

Closing this ITS.

> env->me_txns is NULL in mdb.c line 1840.
>
>
> Process 63426 stopped
> * thread #1: tid = 0x1c03, 0x0000000100001a2d
> mtest`mdb_txn_renew0(txn=0x0000000100103de0) + 125 at mdb.c:1840, stop reason =
> EXC_BAD_ACCESS (code=1, address=0x28)
>      frame #0: 0x0000000100001a2d mtest`mdb_txn_renew0(txn=0x0000000100103de0) +
> 125 at mdb.c:1840
>     1837		} else {
>     1838			LOCK_MUTEX_W(env);
>     1839	
> -> 1840			txn->mt_txnid = env->me_txns->mti_txnid;
>     1841			txn->mt_toggle = txn->mt_txnid & 1;
>     1842			txn->mt_next_pgno = env->me_metas[txn->mt_toggle]->mm_last_pg+1;
>     1843			txn->mt_txnid++;
> (lldb) p env
> (MDB_env *) $0 = 0x0000000100103c70
> (lldb) p env->me_txns
> (MDB_txninfo *) $1 = 0x0000000000000000
>
>


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/