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)