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

Valgrind detecting memory leak on 2-way multi master setup on RHEL 6 - openldap 2.4.44




Hi,

I'm running two ldap servers (2.4.44) in a 2-Way multi master setup on RHEL 2.6 (glibc 2.12). 
Valgrind detects a memory leak every time an entry is deleted a provider.

configure options...
    --without-cyrus-sasl \
        --disable-bdb \
        --disable-hdb \
        --enable-ldap \
        --enable-mdb \
        --enable-constraint 


Valgrind output from the provider where the entry was deleted.
.....
==15112== 100 bytes in 1 blocks are possibly lost in loss record 10 of 11
==15112==    at 0x4A05EDF: calloc (vg_replace_malloc.c:710)
==15112==    by 0x51CA6C: ber_memcalloc_x (memory.c:260)
==15112==    by 0x4F4374: ldap_pvt_runqueue_insert (rq.c:48)
==15112==    by 0x4D688A: log_cf_gen (accesslog.c:942)
==15112==    by 0x4161D2: config_set_vals (config.c:353)
==15112==    by 0x485BD0: over_db_config (backover.c:117)
==15112==    by 0x41A142: read_config_file (config.c:844)
==15112==    by 0x415290: read_config (bconfig.c:4238)
==15112==    by 0x407279: main (main.c:797)
==15112==
==15112== 393 bytes in 1 blocks are definitely lost in loss record 11 of 11
==15112==    at 0x4A0717A: malloc (vg_replace_malloc.c:298)
==15112==    by 0x51CB54: ber_memalloc_x (memory.c:204)
==15112==    by 0x43A9EA: ch_malloc (ch_malloc.c:54)
==15112==    by 0x4DDFE2: syncprov_qresp (syncprov.c:1061)
==15112==    by 0x4DF812: syncprov_op_response (syncprov.c:1981)
==15112==    by 0x42F87D: slap_response_play (result.c:508)
==15112==    by 0x4303F8: send_ldap_response (result.c:583)
==15112==    by 0x4310EB: slap_send_ldap_result (result.c:861)
==15112==    by 0x4C7681: mdb_delete (delete.c:464)
==15112==    by 0x484C1D: overlay_op_walk (backover.c:677)
==15112==    by 0x485692: over_op_func (backover.c:730)
==15112==    by 0x438B72: fe_op_delete (delete.c:174)
==15112==
==15112== LEAK SUMMARY:
==15112==    definitely lost: 548 bytes in 4 blocks
==15112==    indirectly lost: 0 bytes in 0 blocks
==15112==      possibly lost: 303 bytes in 5 blocks
==15112==    still reachable: 64 bytes in 2 blocks
==15112==         suppressed: 0 bytes in 0 blocks
==15112== Reachable blocks (those to which a pointer was found) are not shown.
==15112== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==15112==
==15112== For counts of detected and suppressed errors, rerun with: -v
==15112== Use --track-origins=yes to see where uninitialised values come from
==15112== ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 4 from 4)
==15112== could not unlink /tmp/vgdb-pipe-from-vgdb-to-15112-by-root-on-nsdalvmldap12.isppe.in.telstra.com.au
==15112== could not unlink /tmp/vgdb-pipe-to-vgdb-from-15112-by-root-on-nsdalvmldap12.isppe.in.telstra.com.au
==15112== could not unlink /tmp/vgdb-pipe-shared-mem-vgdb-15112-by-root-on-nsdalvmldap12.isppe.in.telstra.com.au


snippet of syncprov overlay from the slapd.conf
...

mirrormode on
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 10000
syncprov-nopresent TRUE

...

Regards,

Ping