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

(ITS#7448) "assertion failed" in MDB



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)