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

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



--047d7b10cce921f66204cf0610ec
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Nov 21, 2012 at 10:15 PM, Howard Chu <hyc@symas.com> wrote:

> More information is needed than this. Your stack traces aren't even
> complete.


This isn't relevant.


> What was the workload leading up to this?


I can try to make an ltrace log, would that suffice?

Give us a sample configuration that reproduces the assert.
>

Don't have time to make a test case now.


> artemciy@gmail.com wrote:
>
>> Full_Name: Artem Grinblat
>> Version: git, commit be781ab8081d7e9ad1eb89da81077c**7f936a5604
>> 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<http://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/<http://www.openldap.org/project/>
>

--047d7b10cce921f66204cf0610ec
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 21, 2012 at 10:15 PM, Howard Chu <span dir=3D"ltr">&lt;<a href=
=3D"mailto:hyc@symas.com"; target=3D"_blank">hyc@symas.com</a>&gt;</span> wr=
ote:<br><div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
More information is needed than this. Your stack traces aren&#39;t even com=
plete.</blockquote><div><br></div><div>This isn&#39;t relevant.</div><div>=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex">
 What was the workload leading up to this?</blockquote><div><br></div><div>=
I can try to make an ltrace log, would that suffice?</div><div><br></div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex">
Give us a sample configuration that reproduces the assert.<br></blockquote>=
<div><br></div><div>Don&#39;t have time to make a test case now.</div><div>=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex">

<br>
<a href=3D"mailto:artemciy@gmail.com"; target=3D"_blank">artemciy@gmail.com<=
/a> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Full_Name: Artem Grinblat<br>
Version: git, commit be781ab8081d7e9ad1eb89da81077c<u></u>7f936a5604<br>
OS: Debian Wheezy<br>
URL:<br>
Submission from: (NULL) (213.108.212.44)<br>
<br>
<br>
MDB works okay for some time, then crashes with<br>
<br>
mdb.c:3778: mdb_page_search_root: Assertion `(((mp)-&gt;mp_pb.pb.pb_lower -=
<br>
((unsigned) __builtin_offsetof (MDB_page, mp_ptrs))) &gt;&gt; 1) &gt; 1&#39=
; failed.<br>
<br>
(gdb) bt<br>
#0 =A0WriteCoreDump (file_name=3D0x7f1f1f705fa0 &quot;/tmp/tntnet.5541.core=
&quot;) at<br>
src/coredumper.c:192<br>
#1 =A00x00007f1f4b163da9 in img2::writeCore (path=3D0x7f1f1f705fa0<br>
&quot;/tmp/tntnet.5541.core&quot;) at src/conf.cpp:49<br>
#2 =A00x00007f1f4b16145d in img2::custom_sigaction (signum=3D6) at src/conf=
.cpp:89<br>
#3 =A0&lt;signal handler called&gt;<br>
#4 =A00x00007f1f469ba475 in *__GI_raise (sig=3D&lt;optimized out&gt;) at<br=
>
../nptl/sysdeps/unix/sysv/<u></u>linux/raise.c:64<br>
#5 =A00x00007f1f469bd6f0 in *__GI_abort () at abort.c:92<br>
#6 =A00x00007f1f469b3621 in *__GI___assert_fail (<br>
=A0 =A0 =A0assertion=3Dassertion@entry=3D<u></u>0x7f1f4155cdb0 &quot;(((mp)=
-&gt;mp_pb.pb.pb_lower -<br>
((unsigned) __builtin_offsetof (MDB_page, mp_ptrs))) &gt;&gt; 1) &gt; 1&quo=
t;, file=3D&lt;optimized<br>
out&gt;,<br>
=A0 =A0 =A0file@entry=3D0x7f1f4155cb30 &quot;mdb.c&quot;, line=3Dline@entry=
=3D3778,<br>
function=3Dfunction@entry=3D<u></u>0x7f1f4155d360 &quot;mdb_page_search_roo=
t&quot;) at assert.c:81<br>
#7 =A00x00007f1f41555ccd in mdb_page_search_root (mc=3Dmc@entry=3D0x7f1f1f7=
08500,<br>
key=3Dkey@entry=3D0x0, modify=3Dmodify@entry=3D0) at mdb.c:3778<br>
#8 =A00x00007f1f4155467a in mdb_page_search (mc=3Dmc@entry=3D0x7f1f1f708500=
,<br>
key=3Dkey@entry=3D0x0, flags=3Dflags@entry=3D0) at mdb.c:3908<br>
#9 =A00x00007f1f41554a07 in mdb_cursor_first (mc=3D0x7f1f1f708500,<br>
key=3Dkey@entry=3D0x7f1f1f7070f0, data=3Ddata@entry=3D0x0) at mdb.c:4354<br=
>
#10 0x00007f1f4155517e in mdb_cursor_set (mc=3Dmc@entry=3D0x7f1f1f708370,<b=
r>
key=3Dkey@entry=3D0x7f1f1f708770, data=3Ddata@entry=3D<u></u>0x7f1f1f7070f0=
,<br>
op=3Dop@entry=3DMDB_SET,<br>
=A0 =A0 =A0exactp=3Dexactp@entry=3D<u></u>0x7f1f1f7070d4) at mdb.c:4307<br>
#11 0x00007f1f41559c8d in mdb_cursor_put (mc=3D0x7f1f1f708370, key=3D0x7f1f=
1f708770,<br>
data=3D0x7f1f1f708790, flags=3D0) at mdb.c:4672<br>
#12 0x00007f1f4155bdc9 in mdb_put (txn=3D&lt;optimized out&gt;, dbi=3D&lt;o=
ptimized out&gt;,<br>
key=3D0x7f1f1f708770, data=3D0x7f1f1f708790, flags=3D&lt;optimized out&gt;)=
 at mdb.c:6599<br>
<br>
Also under Valgrind:<br>
=3D=3D7503=3D=3D Warning: set address range perms: large range [0x3959d000,=
 0x7959d000)<br>
(defined)<br>
**7503** custom_sigaction, signal 6 =A0 at 0x51B6EEC:<br>
VALGRIND_PRINTF_BACKTRACE(char const*, ...) (valgrind.h:3771)<br>
=3D=3D7503=3D=3D =A0 =A0by 0x51B72A1: img2::custom_sigaction(int) (conf.cpp=
:77)<br>
=3D=3D7503=3D=3D =A0 =A0by 0x985B4EF: ??? (in /lib/x86_64-linux-gnu/<a href=
=3D"http://libc-2.13.so"; target=3D"_blank">libc-2.<u></u>13.so</a>)<br>
=3D=3D7503=3D=3D =A0 =A0by 0x985B474: raise (raise.c:64)<br>
=3D=3D7503=3D=3D =A0 =A0by 0x985E6EF: abort (abort.c:92)<br>
=3D=3D7503=3D=3D =A0 =A0by 0x9854620: __assert_fail (assert.c:81)<br>
=3D=3D7503=3D=3D =A0 =A0by 0xEDD9CCC: mdb_page_search_root (mdb.c:3778)<br>
=3D=3D7503=3D=3D =A0 =A0by 0xEDD8679: mdb_page_search (mdb.c:3908)<br>
=3D=3D7503=3D=3D =A0 =A0by 0xEDD8F78: mdb_cursor_set (mdb.c:4268)<br>
=3D=3D7503=3D=3D =A0 =A0by 0xEDD8EB0: mdb_cursor_set (mdb.c:4316)<br>
=3D=3D7503=3D=3D =A0 =A0by 0xEDDFCA8: mdb_del (mdb.c:6165)<br>
<br>
<br><span class=3D"HOEnZb"><font color=3D"#888888">
</font></span></blockquote><span class=3D"HOEnZb"><font color=3D"#888888">
<br>
<br>
-- <br>
=A0 -- Howard Chu<br>
=A0 CTO, Symas Corp. =A0 =A0 =A0 =A0 =A0 <a href=3D"http://www.symas.com"; t=
arget=3D"_blank">http://www.symas.com</a><br>
=A0 Director, Highland Sun =A0 =A0 <a href=3D"http://highlandsun.com/hyc/"; =
target=3D"_blank">http://highlandsun.com/hyc/</a><br>
=A0 Chief Architect, OpenLDAP =A0<a href=3D"http://www.openldap.org/project=
/" target=3D"_blank">http://www.openldap.org/<u></u>project/</a><br>
</font></span></blockquote></div><br></div>

--047d7b10cce921f66204cf0610ec--