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

Re: slapd crashes updating contextCSN (ITS#2692)



Interesting, I still get the following problem:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 5126 (LWP 11339)]
0x402c3bce in free () from /lib/libc.so.6
(gdb) bt
#0  0x402c3bce in free () from /lib/libc.so.6
#1  0x402c3aa3 in free () from /lib/libc.so.6
#2  0x081049ff in ber_memfree_x (p=0x82e0934, ctx=0x0) at memory.c:143
#3  0x0810523d in ber_bvarray_free_x (a=0x82e0934, ctx=0x0) at memory.c:724
#4  0x0810525b in ber_bvarray_free (a=0x82e0934) at memory.c:731
#5  0x0806d4b5 in attr_free (a=0x82e0920) at attr.c:28
#6  0x0806da89 in attr_delete (attrs=0x82e081c, desc=0x8169bc0) at attr.c:318
#7  0x080c3c07 in hdb_csn_commit (op=0x8292820, rs=0xbefff8e4, tid=0x82dce28, ei=0x82dba48, suffix_ei=0xbeffe58c, 
    ctxcsn_e=0xbeffe588, ctxcsn_added=0xbeffe584, locker=2147483655) at ctxcsn.c:86
#8  0x080a6fc3 in hdb_modify (op=0x8292820, rs=0xbefff8e4) at modify.c:583
#9  0x080762c6 in do_modify (op=0x8292820, rs=0xbefff8e4) at modify.c:486
#10 0x08066ae2 in connection_operation (ctx=0xbefff964, arg_v=0x8292820) at connection.c:984
#11 0x080e5940 in ldap_int_thread_pool_wrapper (xpool=0x816e1c0) at tpool.c:463
#12 0x402470ba in pthread_start_thread () from /lib/libpthread.so.0
#13 0x40247101 in pthread_start_thread_event () from /lib/libpthread.so.0
(gdb) 

as initially reported. However the test suite does run, so it might
be a local problem.

Valgrind has the following to offer: looks like the memory is allocated
from hdb_id2entry().

==11631== 
==11631== Thread 4:
==11631== Invalid free() / delete / delete[]
==11631==    at 0x40167B8B: free (vg_clientfuncs.c:185)
==11631==    by 0x81049FE: ber_memfree_x (memory.c:143)
==11631==    by 0x810522C: ber_bvarray_free_x (memory.c:721)
==11631==    by 0x810525A: ber_bvarray_free (memory.c:731)
==11631==    by 0x806D4B4: attr_free (attr.c:28)
==11631==    by 0x806DA88: attr_delete (attr.c:318)
==11631==    by 0x80C3C06: hdb_csn_commit (ctxcsn.c:86)
==11631==    by 0x80A6FC2: hdb_modify (modify.c:583)
==11631==    by 0x80762C5: do_modify (modify.c:486)
==11631==    by 0x8066AE1: connection_operation (connection.c:984)
==11631==    by 0x80E593F: ldap_int_thread_pool_wrapper (tpool.c:463)
==11631==    by 0x404463EB: thread_wrapper (vg_libpthread.c:671)
==11631==    Address 0x42F91C69 is 237 bytes inside a block of size 271 alloc'd
==11631==    at 0x401678B8: malloc (vg_clientfuncs.c:103)
==11631==    by 0x8104ADB: ber_memalloc_x (memory.c:222)
==11631==    by 0x8104B16: ber_memalloc (memory.c:238)
==11631==    by 0x402BB95F: __os_umalloc (../dist/../os/os_alloc.c:81)
==11631==    by 0x4026EA90: __db_retcopy (../dist/../db/db_ret.c:130)
==11631==    by 0x4026E9F8: __db_ret (../dist/../db/db_ret.c:74)
==11631==    by 0x402580B1: __db_c_get (../dist/../db/db_cam.c:859)
==11631==    by 0x4024F9AC: __db_get (../dist/../db/db_am.c:505)
==11631==    by 0x80C8FBE: hdb_id2entry (id2entry.c:102)
==11631==    by 0x80C2013: hdb_cache_find_id (cache.c:583)
==11631==    by 0x80C5704: hdb_dn2entry (dn2entry.c:59)
==11631==    by 0x80C3B12: hdb_csn_commit (ctxcsn.c:64)


-- Luke