[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#4689) sladp - glibc - double free or corruption when searching translucent overlay
Hi,
> If that's reproducible, you should try running it under valgrind or any
> other memory checker, so that it traps where that memory is freed
> first. Can you run it? Thanks, p.
>
This[1] is the output valgrind gives me.
HTH
Nico
[1]
<snip>
==6732== Thread 4:
==6732== Invalid free() / delete / delete[]
==6732== at 0x401C228: free (vg_replace_malloc.c:233)
==6732== by 0x8079321: do_search (search.c:233)
==6732== by 0x80778C1: connection_operation (connection.c:1109)
==6732== by 0x80782C2: connection_read_thread (connection.c:1237)
==6732== by 0x81816C1: ldap_int_thread_pool_wrapper (tpool.c:704)
==6732== by 0x42022AA: start_thread (in /lib/libpthread-2.3.6.so)
==6732== by 0x44CDE2D: clone (in /lib/libc-2.3.6.so)
==6732== Address 0x59566A8 is 0 bytes inside a block of size 220 free'd
==6732== at 0x401C228: free (vg_replace_malloc.c:233)
==6732== by 0x80912A5: ch_free (ch_malloc.c:139)
==6732== by 0x81628E1: rwm_response (rwm.c:1394)
==6732== by 0x80D24C9: over_back_response (backover.c:237)
==6732== by 0x8085C3F: slap_response_play (result.c:317)
==6732== by 0x8085D82: send_ldap_response (result.c:391)
==6732== by 0x80867E7: slap_send_ldap_result (result.c:638)
==6732== by 0x80F67D0: ldap_back_search (search.c:482)
==6732== by 0x816CED8: translucent_search (translucent.c:613)
==6732== by 0x80D29FE: overlay_op_walk (backover.c:492)
==6732== by 0x80D2B5E: over_op_func (backover.c:552)
==6732== by 0x807A029: fe_op_search (search.c:374)
<snip>
==6732==
==6732== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 117 from 2)
==6732== malloc/free: in use at exit: 76,125 bytes in 655 blocks.
==6732== malloc/free: 25,705 allocs, 25,051 frees, 3,958,285 bytes allocated.
==6732== For counts of detected errors, rerun with: -v
==6732== searching for pointers to 655 not-freed blocks.
==6732== checked 17,444,016 bytes.
==6732==
==6732== LEAK SUMMARY:
==6732== definitely lost: 57 bytes in 5 blocks.
==6732== possibly lost: 272 bytes in 4 blocks.
==6732== still reachable: 75,796 bytes in 646 blocks.
==6732== suppressed: 0 bytes in 0 blocks.
==6732== Use --leak-check=full to see details of leaked memory.