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

Re: (ITS#7448) "assertion failed" in MDB



More information is needed than this. Your stack traces aren't even complete. 
What was the workload leading up to this? Give us a sample configuration that 
reproduces the assert.

artemciy@gmail.com wrote:
> Full_Name: Artem Grinblat
> Version: git, commit be781ab8081d7e9ad1eb89da81077c7f936a5604
> OS: Debian Wheezy
> URL:
> Submission from: (NULL) (213.108.212.44)
>
>
> MDB works okay for some time, then crashes with
>
> mdb.c:3778: mdb_page_search_root: Assertion `(((mp)->mp_pb.pb.pb_lower -
> ((unsigned) __builtin_offsetof (MDB_page, mp_ptrs))) >> 1) > 1' failed.
>
> (gdb) bt
> #0  WriteCoreDump (file_name=0x7f1f1f705fa0 "/tmp/tntnet.5541.core") at
> src/coredumper.c:192
> #1  0x00007f1f4b163da9 in img2::writeCore (path=0x7f1f1f705fa0
> "/tmp/tntnet.5541.core") at src/conf.cpp:49
> #2  0x00007f1f4b16145d in img2::custom_sigaction (signum=6) at src/conf.cpp:89
> #3  <signal handler called>
> #4  0x00007f1f469ba475 in *__GI_raise (sig=<optimized out>) at
> ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #5  0x00007f1f469bd6f0 in *__GI_abort () at abort.c:92
> #6  0x00007f1f469b3621 in *__GI___assert_fail (
>      assertion=assertion@entry=0x7f1f4155cdb0 "(((mp)->mp_pb.pb.pb_lower -
> ((unsigned) __builtin_offsetof (MDB_page, mp_ptrs))) >> 1) > 1", file=<optimized
> out>,
>      file@entry=0x7f1f4155cb30 "mdb.c", line=line@entry=3778,
> function=function@entry=0x7f1f4155d360 "mdb_page_search_root") at assert.c:81
> #7  0x00007f1f41555ccd in mdb_page_search_root (mc=mc@entry=0x7f1f1f708500,
> key=key@entry=0x0, modify=modify@entry=0) at mdb.c:3778
> #8  0x00007f1f4155467a in mdb_page_search (mc=mc@entry=0x7f1f1f708500,
> key=key@entry=0x0, flags=flags@entry=0) at mdb.c:3908
> #9  0x00007f1f41554a07 in mdb_cursor_first (mc=0x7f1f1f708500,
> key=key@entry=0x7f1f1f7070f0, data=data@entry=0x0) at mdb.c:4354
> #10 0x00007f1f4155517e in mdb_cursor_set (mc=mc@entry=0x7f1f1f708370,
> key=key@entry=0x7f1f1f708770, data=data@entry=0x7f1f1f7070f0,
> op=op@entry=MDB_SET,
>      exactp=exactp@entry=0x7f1f1f7070d4) at mdb.c:4307
> #11 0x00007f1f41559c8d in mdb_cursor_put (mc=0x7f1f1f708370, key=0x7f1f1f708770,
> data=0x7f1f1f708790, flags=0) at mdb.c:4672
> #12 0x00007f1f4155bdc9 in mdb_put (txn=<optimized out>, dbi=<optimized out>,
> key=0x7f1f1f708770, data=0x7f1f1f708790, flags=<optimized out>) at mdb.c:6599
>
> Also under Valgrind:
> ==7503== Warning: set address range perms: large range [0x3959d000, 0x7959d000)
> (defined)
> **7503** custom_sigaction, signal 6   at 0x51B6EEC:
> VALGRIND_PRINTF_BACKTRACE(char const*, ...) (valgrind.h:3771)
> ==7503==    by 0x51B72A1: img2::custom_sigaction(int) (conf.cpp:77)
> ==7503==    by 0x985B4EF: ??? (in /lib/x86_64-linux-gnu/libc-2.13.so)
> ==7503==    by 0x985B474: raise (raise.c:64)
> ==7503==    by 0x985E6EF: abort (abort.c:92)
> ==7503==    by 0x9854620: __assert_fail (assert.c:81)
> ==7503==    by 0xEDD9CCC: mdb_page_search_root (mdb.c:3778)
> ==7503==    by 0xEDD8679: mdb_page_search (mdb.c:3908)
> ==7503==    by 0xEDD8F78: mdb_cursor_set (mdb.c:4268)
> ==7503==    by 0xEDD8EB0: mdb_cursor_set (mdb.c:4316)
> ==7503==    by 0xEDDFCA8: mdb_del (mdb.c:6165)
>
>


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