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

Re: replica slapd core dumped under load: memory leak ?



> > Can anyone help with this ?
> >
> > I'm running OpenLDAP 2.2.5 with a bdb db-4.2.52 backend on
> > FreeBSD 5.2. Master server work fine, but replica server
> > periodically core dumps(during times of high load):
>
> Your stack trace indicates a crash in your C library. Since malloc shows
up
> in the trace, you may simply have run out of RAM on the machine. The
syslog()
> invocation in this case is using a simple string constant, so there's no
> possibility of invalid parameters being passed. This is most likely either
> out-of-memory, a corrupted heap, or a FreeBSD libc bug.

# ls -l slapd.core.*
-rw-------  1 ldap  wheel  541319168 Feb  4 02:26 slapd.core.0
-rw-------  1 ldap  wheel  542498816 Feb  4 12:34 slapd.core.1
-rw-------  1 ldap  wheel  540139520 Feb  4 17:47 slapd.core.2

/usr/include/machine/vmparam.h:
#define       MAXDSIZ(512UL*1024*1024)        /* max data size */

i increased MAXDSIZ up to 2048mb and after four hours under load size of
slapd process on master server ~150mb, on replica server size of slapd
process ~600mb (it grows on 1-2 megabytes per minute). Possible memory leak
?

Thanks!

>
> > (gdb) bt
> > #0  0x28433dcf in kill () from /lib/libc.so.5
> > #1  0x28428878 in raise () from /lib/libc.so.5
> > #2  0x284a0f82 in abort () from /lib/libc.so.5
> > #3  0x2849f6fe in tcflow () from /lib/libc.so.5
> > #4  0x2849ff9b in tcflow () from /lib/libc.so.5
> > #5  0x284a0356 in malloc () from /lib/libc.so.5
> > #6  0x2849df06 in __smakebuf () from /lib/libc.so.5
> > #7  0x2849de7d in __swsetup () from /lib/libc.so.5
> > #8  0x2849413a in __vfprintf () from /lib/libc.so.5
> > #9  0x284940a6 in vfprintf () from /lib/libc.so.5
> > #10 0x28480d6d in fprintf () from /lib/libc.so.5
> > #11 0x2847d607 in vsyslog () from /lib/libc.so.5
> > #12 0x2847d4ed in syslog () from /lib/libc.so.5
> > #13 0x0809f216 in bdb_modify_internal (op=0xbeeeaba0,
> > tid=0x8b4b200, modlist=0x284af120,
> >     e=0xbeeea610, text=0xbeeea7e4, textbuf=0xbeeea670 "\020",
> > textlen=256) at modify.c:106
> > #14 0x080a01d6 in bdb_modify (op=0xbeeeaba0, rs=0xbeeea7d0)
> > at modify.c:532
> > #15 0x0809b788 in syncrepl_updateCookie (si=0x81bab00,
> > op=0xbeeeaba0, pdn=0x0,
> >     syncCookie=0x0) at syncrepl.c:1568
> > #16 0x080991a2 in do_syncrep2 (op=0xbeeeaba0, si=0x81bab00)
> > at syncrepl.c:515
> > #17 0x0809a01a in do_syncrepl (ctx=0xbeeeae40, arg=0x81d5120)
> > at syncrepl.c:845
> > #18 0x28141df7 in ldap_int_thread_pool_wrapper
> > (xpool=0x8164580) at tpool.c:467
> > #19 0x283ce50e in _thread_start () from /usr/lib/libc_r.so.5
> > (gdb)