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

Re: "slapadd: corrupted double-linked list"



Ralf,

Ralf Haferkamp schrieb am 15.12.2010 13:13 Uhr:
Am Freitag 10 Dezember 2010, 09:46:06 schrieb Marc Patermann:
Howard Chu schrieb am 09.12.2010 18:21 Uhr:
Marc Patermann wrote:
Marc Patermann schrieb am 09.12.2010 11:40 Uhr:
Howard Chu schrieb am 08.12.2010 18:55 Uhr:
Marc Patermann wrote:
Marc Patermann schrieb am 06.12.2010 16:40 Uhr:

what could the following possibly be?
This looks like something valgrind ought to be able to
diagnose.
OK, I installed valgrind.

Do I just start # valgrind slapadd -q -v -c -l init.ldif or
do I have to provide any options to get any helpfull output?
Here is what I get:
That's on the right track, but your slapd binary has no debug
symbols so there's not enough information here (like source line
numbers for each offending event.) It looks like only the last
event is of interest, write 8 bytes past block of 80 bytes.
There is an extra RPM called
openldap2-debuginfo-2.4.23-124.1.x86_64.rpm Would it help to
install this?
Yes. That should do it. Note: Please make sure that the RPM release
number of the debuginfo package exactly matches the release number of
the installed openldap2 package. (You might also need the matching
openldap2-client-debuginfo).
I installed both now:
# rpm -Uvh openldap2-client-debuginfo-2.4.23-128.1.x86_64.rpm openldap2-debuginfo-2.4.23-124.1.x86_64.rpm warning: openldap2-client-debuginfo-2.4.23-128.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 6924a015 Preparing... ########################################### [100%] 1:openldap2-debuginfo ########################################### [ 50%] 2:openldap2-client-debugi########################################### [100%]

# rpm -qa "*ldap*" | sort
libldap-2_4-2-2.4.23-128.1
libldap-2_4-2-32bit-2.4.23-128.1
libldapcpp1-0.1.2-3.1.42
nss_ldap-262-11.23.1
nss_ldap-32bit-262-11.23.1
openldap2-2.4.23-124.1
openldap2-client-2.4.23-128.1
openldap2-client-debuginfo-2.4.23-128.1
openldap2-debuginfo-2.4.23-124.1
pam_ldap-184-147.20
pam_ldap-32bit-184-147.20
perl-ldap-0.37-1.19.3
yast2-ldap-2.17.3-1.37
yast2-ldap-client-2.17.22-0.2.1.18
yast2-ldap-server-2.17.35-0.2.1


What else can I do to track this issue down?
valgrind seems like a good choice for now.
The output does not seam to change:

# valgrind slapadd -q -c -v -l init.ldif                  ==28480==
Memcheck, a memory error detector
==28480== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==28480== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==28480== Command: slapadd -q -c -v -l init.ldif
==28480==
==28480== Conditional jump or move depends on uninitialised value(s)
==28480==    at 0x400AE79: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28480==    by 0x4003868: dl_main (in /lib64/ld-2.11.1.so)
==28480==    by 0x4014869: _dl_sysdep_start (in /lib64/ld-2.11.1.so)
==28480==    by 0x40013D0: _dl_start (in /lib64/ld-2.11.1.so)
==28480==    by 0x4000B07: ??? (in /lib64/ld-2.11.1.so)
==28480==    by 0x5: ???
==28480==    by 0x7FF0006CA: ???
==28480==    by 0x7FF0006D2: ???
==28480==    by 0x7FF0006D5: ???
==28480==    by 0x7FF0006D8: ???
==28480==    by 0x7FF0006DB: ???
==28480==    by 0x7FF0006DE: ???
==28480==
==28480== Conditional jump or move depends on uninitialised value(s)
==28480==    at 0x400AE82: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28480==    by 0x4003868: dl_main (in /lib64/ld-2.11.1.so)
==28480==    by 0x4014869: _dl_sysdep_start (in /lib64/ld-2.11.1.so)
==28480==    by 0x40013D0: _dl_start (in /lib64/ld-2.11.1.so)
==28480==    by 0x4000B07: ??? (in /lib64/ld-2.11.1.so)
==28480==    by 0x5: ???
==28480==    by 0x7FF0006CA: ???
==28480==    by 0x7FF0006D2: ???
==28480==    by 0x7FF0006D5: ???
==28480==    by 0x7FF0006D8: ???
==28480==    by 0x7FF0006DB: ???
==28480==    by 0x7FF0006DE: ???
==28480==
==28480== Conditional jump or move depends on uninitialised value(s)
==28480==    at 0x400AE79: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28480==    by 0x401216A: dl_open_worker (in /lib64/ld-2.11.1.so)
==28480==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28480==    by 0x4011A5A: _dl_open (in /lib64/ld-2.11.1.so)
==28480==    by 0x64F4F9A: dlopen_doit (in /lib64/libdl-2.11.1.so)
==28480==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28480==    by 0x64F533B: _dlerror_run (in /lib64/libdl-2.11.1.so)
==28480==    by 0x64F4F00: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.11.1.so)
==28480==    by 0x62EC473: _sasl_get_plugin (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x62EC9CA: _sasl_load_plugins (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x62EB572: sasl_server_init (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x1A4EAC: slap_sasl_init (sasl.c:1161)
==28480==
==28480== Conditional jump or move depends on uninitialised value(s)
==28480==    at 0x400B010: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28480==    by 0x401216A: dl_open_worker (in /lib64/ld-2.11.1.so)
==28480==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28480==    by 0x4011A5A: _dl_open (in /lib64/ld-2.11.1.so)
==28480==    by 0x64F4F9A: dlopen_doit (in /lib64/libdl-2.11.1.so)
==28480==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28480==    by 0x64F533B: _dlerror_run (in /lib64/libdl-2.11.1.so)
==28480==    by 0x64F4F00: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.11.1.so)
==28480==    by 0x62EC473: _sasl_get_plugin (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x62EC9CA: _sasl_load_plugins (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x62EB572: sasl_server_init (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x1A4EAC: slap_sasl_init (sasl.c:1161)
==28480==
==28480== Conditional jump or move depends on uninitialised value(s)
==28480==    at 0x400B05F: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28480==    by 0x401216A: dl_open_worker (in /lib64/ld-2.11.1.so)
==28480==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28480==    by 0x4011A5A: _dl_open (in /lib64/ld-2.11.1.so)
==28480==    by 0x64F4F9A: dlopen_doit (in /lib64/libdl-2.11.1.so)
==28480==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28480==    by 0x64F533B: _dlerror_run (in /lib64/libdl-2.11.1.so)
==28480==    by 0x64F4F00: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.11.1.so)
==28480==    by 0x62EC473: _sasl_get_plugin (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x62EC9CA: _sasl_load_plugins (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x62EB572: sasl_server_init (in
/usr/lib64/libsasl2.so.2.0.22)
==28480==    by 0x1A4EAC: slap_sasl_init (sasl.c:1161)
==28480==
/etc/openldap/slapd.conf: line 60: warning, threads=160 larger than
twice the default (2*16=32); YMMV.
==28480== Warning: set address range perms: large range [0xafb2000,
0x1efb4000) (defined)
added: "ou=steuer,o=landesverwaltung niedersachsen,c=de" (00000001)
added: "ou=mgr,ou=steuer,o=landesverwaltung niedersachsen,c=de" (00000002)
added: "cn=sys,ou=mgr,ou=steuer,o=landesverwaltung niedersachsen,c=de"
(00000003)
added: "cn=gen.man,ou=mgr,ou=steuer,o=landesverwaltung
niedersachsen,c=de" (00000004)
added: "cn=human,ou=mgr,ou=steuer,o=landesverwaltung niedersachsen,c=de"
(00000005)
==28480== Invalid write of size 1
==28480==    at 0x4C28129: memset (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid write of size 1
==28480==    at 0x4C2810C: memset (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad261 is 1 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid write of size 1
==28480==    at 0x4C28114: memset (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad262 is 2 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid write of size 1
==28480==    at 0x4C28119: memset (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad263 is 3 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid write of size 1
==28480==    at 0x4C28108: memset (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad264 is 4 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid write of size 8
==28480==    at 0x216F0B: hdb_index_recset (index.c:414)
==28480==    by 0x1E0E05: bdb_tool_index_add (tools.c:559)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid read of size 8
==28480==    at 0x216F17: hdb_index_recset (index.c:417)
==28480==    by 0x1E0E05: bdb_tool_index_add (tools.c:559)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid write of size 8
==28480==    at 0x216F1E: hdb_index_recset (index.c:418)
==28480==    by 0x1E0E05: bdb_tool_index_add (tools.c:559)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid read of size 8
==28480==    at 0x216DEF: hdb_index_recrun (index.c:457)
==28480==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid read of size 8
==28480==    at 0x216E00: hdb_index_recrun (index.c:458)
==28480==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid read of size 8
==28480==    at 0x216E09: hdb_index_recrun (index.c:460)
==28480==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
==28480== Invalid write of size 8
==28480==    at 0x216E16: hdb_index_recrun (index.c:459)
==28480==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28480==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28480==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28480==    by 0x1BF983: slapadd (slapadd.c:406)
==28480==    by 0x132223: main (main.c:652)
==28480==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28480==    at 0x4C261C3: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28480==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28480==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28480==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28480==    by 0x1BF930: slapadd (slapadd.c:114)
==28480==    by 0x132223: main (main.c:652)
==28480==
added: "ou=humans,ou=steuer,o=landesverwaltung niedersachsen,c=de"
(00000001)
added: "ou=gruppen,ou=humans,ou=steuer,o=landesverwaltung
niedersachsen,c=de" (00000002)
added: "ou=system,ou=steuer,o=landesverwaltung niedersachsen,c=de"
(00000001)
_#################### 100.00% eta   none elapsed            none fast!
Closing DB...
==28480== Warning: set address range perms: large range [0xafb2000,
0x1efb4000) (noaccess)

valgrind: m_mallocfree.c:225 (mk_plain_bszB): Assertion 'bszB != 0' failed.
valgrind: This is probably caused by your program erroneously writing
past the
end of a heap block and corrupting heap metadata.  If you fix any
invalid writes reported by Memcheck, this assertion failure will
probably go away.  Please try that before reporting this as a bug.

==28480==    at 0x3802AD34: ??? (in
/usr/lib64/valgrind/memcheck-amd64-linux)
==28480==    by 0x3802AFA7: ??? (in
/usr/lib64/valgrind/memcheck-amd64-linux)
==28480==    by 0x380371B3: ??? (in
/usr/lib64/valgrind/memcheck-amd64-linux)
==28480==    by 0x38001F29: ??? (in
/usr/lib64/valgrind/memcheck-amd64-linux)
==28480==    by 0x38063328: ??? (in
/usr/lib64/valgrind/memcheck-amd64-linux)
==28480==    by 0x3808AEC4: ??? (in
/usr/lib64/valgrind/memcheck-amd64-linux)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable
==28480==    at 0x4C25DD8: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28480==    by 0x1574BE: attr_destroy (attr.c:712)
==28480==    by 0x17E741: slap_destroy (init.c:254)
==28480==    by 0x1C071A: slap_tool_destroy (slapcommon.c:865)
==28480==    by 0x1BF4E2: slapadd (slapadd.c:570)
==28480==    by 0x132223: main (main.c:652)

The more verbose output from

# valgrind --leak-check=yes --show-reachable=yes --track-origins=yes --read-var-info=yes --log-file=/tmp/valgrind.%p --trace-children=yes -v slapadd -q -c -v -l init.ldif

(which Dieter provided) logged this:


==28546== Memcheck, a memory error detector
==28546== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==28546== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==28546== Command: slapadd -q -c -v -l init.ldif
==28546== Parent PID: 28159
==28546==
--28546--
--28546-- Valgrind options:
--28546--    --leak-check=yes
--28546--    --show-reachable=yes
--28546--    --track-origins=yes
--28546--    --read-var-info=yes
--28546--    --log-file=/tmp/valgrind.%p
--28546--    --trace-children=yes
--28546--    -v
--28546-- Contents of /proc/version:
--28546-- Linux version 2.6.32.12-0.7-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP 2010-05-20 11:14:20 +0200
--28546-- Arch and hwcaps: AMD64, amd64-sse3-cx16
--28546-- Page sizes: currently 4096, max supported 4096
--28546-- Valgrind library directory: /usr/lib64/valgrind
--28546-- Reading syms from /usr/lib/openldap/slapd (0x108000)
--28546-- Reading debug info from /usr/lib/debug/usr/lib/openldap/slapd.debug ..
--28546-- Reading syms from /lib64/ld-2.11.1.so (0x4000000)
--28546-- Reading syms from /usr/lib64/valgrind/memcheck-amd64-linux (0x38000000)
--28546--    object doesn't have a symbol table
--28546--    object doesn't have a dynamic symbol table
--28546-- Reading suppressions file: /usr/lib64/valgrind/default.supp
--28546-- REDIR: 0x4016de0 (strlen) redirected to 0x3803fa17 (???)
--28546-- Reading syms from /usr/lib64/valgrind/vgpreload_core-amd64-linux.so (0x4a21000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so (0x4c23000)
--28546--    object doesn't have a symbol table
==28546== WARNING: new redirection conflicts with existing -- ignoring it
--28546--     new: 0x04016de0 (strlen              ) R-> 0x04c27280 strlen
--28546-- REDIR: 0x4016350 (index) redirected to 0x4c26fd0 (index)
--28546-- REDIR: 0x4016500 (strcmp) redirected to 0x4c27580 (strcmp)
--28546-- Reading syms from /usr/lib64/libldap_r-2.4.so.2.5.6 (0x4e2b000)
--28546-- Reading debug info from /usr/lib/debug/usr/lib64/libldap_r-2.4.so.2.5.6.debug ..
--28546-- Reading syms from /usr/lib64/liblber-2.4.so.2.5.6 (0x507a000)
--28546-- Reading debug info from /usr/lib/debug/usr/lib64/liblber-2.4.so.2.5.6.debug ..
--28546-- Reading syms from /usr/lib64/libltdl.so.7.2.0 (0x5289000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/libdb-4.5.so (0x5493000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/libodbc.so.1.0.0 (0x57cb000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /lib64/libpthread-2.11.1.so (0x5a35000)
--28546-- Reading syms from /usr/lib64/libslp.so.1.0.0 (0x5c52000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /lib64/libm-2.11.1.so (0x5e6b000)
--28546-- Reading syms from /lib64/libnsl-2.11.1.so (0x60c1000)
--28546-- Reading syms from /usr/lib64/libsasl2.so.2.0.22 (0x62d9000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /lib64/libdl-2.11.1.so (0x64f4000)
--28546-- Reading syms from /usr/lib64/libssl.so.0.9.8 (0x66f8000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/libcrypto.so.0.9.8 (0x694c000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /lib64/libcrypt-2.11.1.so (0x6cc7000)
--28546-- Reading syms from /lib64/libresolv-2.11.1.so (0x6f02000)
--28546-- Reading syms from /lib64/libwrap.so.0.7.6 (0x7119000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /lib64/libc-2.11.1.so (0x7324000)
--28546-- Reading syms from /lib64/libz.so.1.2.3 (0x7682000)
--28546--    object doesn't have a symbol table
==28546== Conditional jump or move depends on uninitialised value(s)
==28546==    at 0x400AE79: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==    by 0x4003868: dl_main (in /lib64/ld-2.11.1.so)
==28546==    by 0x4014869: _dl_sysdep_start (in /lib64/ld-2.11.1.so)
==28546==    by 0x40013D0: _dl_start (in /lib64/ld-2.11.1.so)
==28546==    by 0x4000B07: ??? (in /lib64/ld-2.11.1.so)
==28546==    by 0x5: ???
==28546==    by 0x7FF0006CA: ???
==28546==    by 0x7FF0006D2: ???
==28546==    by 0x7FF0006D5: ???
==28546==    by 0x7FF0006D8: ???
==28546==    by 0x7FF0006DB: ???
==28546==    by 0x7FF0006DE: ???
==28546==  Uninitialised value was created by a stack allocation
==28546==    at 0x400ACF0: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==
==28546== Conditional jump or move depends on uninitialised value(s)
==28546==    at 0x400AE82: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==    by 0x4003868: dl_main (in /lib64/ld-2.11.1.so)
==28546==    by 0x4014869: _dl_sysdep_start (in /lib64/ld-2.11.1.so)
==28546==    by 0x40013D0: _dl_start (in /lib64/ld-2.11.1.so)
==28546==    by 0x4000B07: ??? (in /lib64/ld-2.11.1.so)
==28546==    by 0x5: ???
==28546==    by 0x7FF0006CA: ???
==28546==    by 0x7FF0006D2: ???
==28546==    by 0x7FF0006D5: ???
==28546==    by 0x7FF0006D8: ???
==28546==    by 0x7FF0006DB: ???
==28546==    by 0x7FF0006DE: ???
==28546==  Uninitialised value was created by a stack allocation
==28546==    at 0x400ACF0: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==
--28546-- REDIR: 0x73a2a00 (rindex) redirected to 0x4c26e30 (rindex)
--28546-- REDIR: 0x73a3f40 (memmove) redirected to 0x4c28160 (memmove)
--28546-- REDIR: 0x739d570 (calloc) redirected to 0x4c25439 (calloc)
--28546-- REDIR: 0x739df00 (free) redirected to 0x4c25d51 (free)
--28546-- REDIR: 0x73a18d0 (strcmp) redirected to 0x4c27530 (strcmp)
--28546-- REDIR: 0x73a2660 (strlen) redirected to 0x4c27240 (strlen)
--28546-- REDIR: 0x73a1850 (index) redirected to 0x4c26ed0 (index)
--28546-- REDIR: 0x739dfe0 (malloc) redirected to 0x4c26141 (malloc)
--28546-- REDIR: 0x73a40f0 (memset) redirected to 0x4c280f0 (memset)
--28546-- REDIR: 0x73a5a30 (memcpy) redirected to 0x4c27650 (memcpy)
--28546-- REDIR: 0x73a8440 (strchrnul) redirected to 0x4c281d0 (strchrnul)
--28546-- REDIR: 0x73a1c30 (strcpy) redirected to 0x4c272a0 (strcpy)
--28546-- REDIR: 0x73a1690 (strcat) redirected to 0x4c27010 (strcat)
--28546-- REDIR: 0x73a2930 (strncpy) redirected to 0x4c27370 (strncpy)
--28546-- REDIR: 0x739f0b0 (realloc) redirected to 0x4c261f2 (realloc)
--28546-- REDIR: 0x73a3ad0 (memchr) redirected to 0x4c27620 (memchr)
--28546-- REDIR: 0x73a26b0 (strnlen) redirected to 0x4c27200 (strnlen)
--28546-- REDIR: 0x740bc00 (__strcpy_chk) redirected to 0x4c288a0 (__strcpy_chk) --28546-- REDIR: 0x73a5a20 (__memcpy_chk) redirected to 0x4c28740 (__memcpy_chk)
--28546-- Reading syms from /usr/lib64/sasl2/libplain.so.2.0.22 (0x7c98000)
--28546--    object doesn't have a symbol table
==28546== Conditional jump or move depends on uninitialised value(s)
==28546==    at 0x400AE79: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==    by 0x401216A: dl_open_worker (in /lib64/ld-2.11.1.so)
==28546==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28546==    by 0x4011A5A: _dl_open (in /lib64/ld-2.11.1.so)
==28546==    by 0x64F4F9A: dlopen_doit (in /lib64/libdl-2.11.1.so)
==28546==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28546==    by 0x64F533B: _dlerror_run (in /lib64/libdl-2.11.1.so)
==28546==    by 0x64F4F00: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.11.1.so)
==28546== by 0x62EC473: _sasl_get_plugin (in /usr/lib64/libsasl2.so.2.0.22) ==28546== by 0x62EC9CA: _sasl_load_plugins (in /usr/lib64/libsasl2.so.2.0.22) ==28546== by 0x62EB572: sasl_server_init (in /usr/lib64/libsasl2.so.2.0.22)
==28546==    by 0x1A4EAC: slap_sasl_init (sasl.c:1161)
==28546==  Uninitialised value was created by a stack allocation
==28546==    at 0x400ACF0: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==
==28546== Conditional jump or move depends on uninitialised value(s)
==28546==    at 0x400B010: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==    by 0x401216A: dl_open_worker (in /lib64/ld-2.11.1.so)
==28546==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28546==    by 0x4011A5A: _dl_open (in /lib64/ld-2.11.1.so)
==28546==    by 0x64F4F9A: dlopen_doit (in /lib64/libdl-2.11.1.so)
==28546==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28546==    by 0x64F533B: _dlerror_run (in /lib64/libdl-2.11.1.so)
==28546==    by 0x64F4F00: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.11.1.so)
==28546== by 0x62EC473: _sasl_get_plugin (in /usr/lib64/libsasl2.so.2.0.22) ==28546== by 0x62EC9CA: _sasl_load_plugins (in /usr/lib64/libsasl2.so.2.0.22) ==28546== by 0x62EB572: sasl_server_init (in /usr/lib64/libsasl2.so.2.0.22)
==28546==    by 0x1A4EAC: slap_sasl_init (sasl.c:1161)
==28546==  Uninitialised value was created by a stack allocation
==28546==    at 0x400ACF0: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==
==28546== Conditional jump or move depends on uninitialised value(s)
==28546==    at 0x400B05F: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==    by 0x401216A: dl_open_worker (in /lib64/ld-2.11.1.so)
==28546==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28546==    by 0x4011A5A: _dl_open (in /lib64/ld-2.11.1.so)
==28546==    by 0x64F4F9A: dlopen_doit (in /lib64/libdl-2.11.1.so)
==28546==    by 0x400DAA5: _dl_catch_error (in /lib64/ld-2.11.1.so)
==28546==    by 0x64F533B: _dlerror_run (in /lib64/libdl-2.11.1.so)
==28546==    by 0x64F4F00: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.11.1.so)
==28546== by 0x62EC473: _sasl_get_plugin (in /usr/lib64/libsasl2.so.2.0.22) ==28546== by 0x62EC9CA: _sasl_load_plugins (in /usr/lib64/libsasl2.so.2.0.22) ==28546== by 0x62EB572: sasl_server_init (in /usr/lib64/libsasl2.so.2.0.22)
==28546==    by 0x1A4EAC: slap_sasl_init (sasl.c:1161)
==28546==  Uninitialised value was created by a stack allocation
==28546==    at 0x400ACF0: _dl_relocate_object (in /lib64/ld-2.11.1.so)
==28546==
--28546-- REDIR: 0x4017420 (stpcpy) redirected to 0x4c28020 (stpcpy)
--28546-- Reading syms from /usr/lib64/sasl2/libanonymous.so.2.0.22 (0x7e9d000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/sasl2/libcrammd5.so.2.0.22 (0x80a2000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/sasl2/libgssapiv2.so.2.0.22 (0x82a8000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/libgssapi_krb5.so.2.2 (0x84b0000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/libkrb5.so.3.3 (0x86dc000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/libk5crypto.so.3.1 (0x897e000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /lib64/libcom_err.so.2.1 (0x8ba4000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/libkrb5support.so.0.1 (0x8da8000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /lib64/libkeyutils-1.2.so (0x8fb1000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/sasl2/libsasldb.so.2.0.22 (0x91b4000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/sasl2/liblogin.so.2.0.22 (0x93ba000)
--28546--    object doesn't have a symbol table
--28546-- Reading syms from /usr/lib64/sasl2/libdigestmd5.so.2.0.22 (0x95bf000)
--28546--    object doesn't have a symbol table
--28546-- REDIR: 0xffffffffff600400 (???) redirected to 0x3803fa0d (???)
--28546-- REDIR: 0x73a4c20 (mempcpy) redirected to 0x4c28220 (mempcpy)
--28546-- Reading syms from /usr/lib/openldap/modules/accesslog-2.4.so.2.5.6 (0x97cc000) --28546-- Reading debug info from /usr/lib/debug/usr/lib/openldap/modules/accesslog-2.4.so.2.5.6.debug ..
--28546-- REDIR: 0x73a2860 (strncmp) redirected to 0x4c274c0 (strncmp)
--28546-- REDIR: 0x73a5230 (stpcpy) redirected to 0x4c27e80 (stpcpy)
--28546-- Reading syms from /usr/lib/openldap/modules/dynlist-2.4.so.2.5.6 (0x99d8000) --28546-- Reading debug info from /usr/lib/debug/usr/lib/openldap/modules/dynlist-2.4.so.2.5.6.debug .. --28546-- Reading syms from /usr/lib/openldap/modules/memberof-2.4.so.2.5.6 (0x9bdf000) --28546-- Reading debug info from /usr/lib/debug/usr/lib/openldap/modules/memberof-2.4.so.2.5.6.debug .. --28546-- Reading syms from /usr/lib/openldap/modules/refint-2.4.so.2.5.6 (0x9de7000) --28546-- Reading debug info from /usr/lib/debug/usr/lib/openldap/modules/refint-2.4.so.2.5.6.debug .. --28546-- Reading syms from /usr/lib/openldap/modules/unique-2.4.so.2.5.6 (0x9fed000) --28546-- Reading debug info from /usr/lib/debug/usr/lib/openldap/modules/unique-2.4.so.2.5.6.debug ..
--28546-- REDIR: 0xffffffffff600000 (???) redirected to 0x3803fa03 (???)
==28546== Warning: set address range perms: large range [0xafb2000, 0x1efb4000) (defined)
==28546== Invalid write of size 1
==28546== at 0x4C28129: memset (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid write of size 1
==28546== at 0x4C2810C: memset (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad261 is 1 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid write of size 1
==28546== at 0x4C28114: memset (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad262 is 2 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid write of size 1
==28546== at 0x4C28119: memset (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad263 is 3 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid write of size 1
==28546== at 0x4C28108: memset (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x1E0DCA: bdb_tool_index_add (string3.h:86)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad264 is 4 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid write of size 8
==28546==    at 0x216F0B: hdb_index_recset (index.c:414)
==28546==    by 0x1E0E05: bdb_tool_index_add (tools.c:559)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid read of size 8
==28546==    at 0x216F17: hdb_index_recset (index.c:417)
==28546==    by 0x1E0E05: bdb_tool_index_add (tools.c:559)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid write of size 8
==28546==    at 0x216F1E: hdb_index_recset (index.c:418)
==28546==    by 0x1E0E05: bdb_tool_index_add (tools.c:559)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid read of size 8
==28546==    at 0x216DEF: hdb_index_recrun (index.c:457)
==28546==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid read of size 8
==28546==    at 0x216E00: hdb_index_recrun (index.c:458)
==28546==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid read of size 8
==28546==    at 0x216E09: hdb_index_recrun (index.c:460)
==28546==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad260 is 0 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Invalid write of size 8
==28546==    at 0x216E16: hdb_index_recrun (index.c:459)
==28546==    by 0x1E0F2D: bdb_tool_index_add (tools.c:577)
==28546==    by 0x1E17E1: hdb_tool_entry_put (tools.c:653)
==28546==    by 0x1B9197: glue_tool_entry_put (backglue.c:1176)
==28546==    by 0x1BF983: slapadd (slapadd.c:406)
==28546==    by 0x132223: main (main.c:652)
==28546==  Address 0x1f3ad268 is 8 bytes after a block of size 80 alloc'd
==28546== at 0x4C261C3: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x50826B4: ber_memalloc_x (memory.c:226)
==28546==    by 0x16AD7A: ch_malloc (ch_malloc.c:54)
==28546==    by 0x1E2CCF: hdb_tool_entry_open (tools.c:139)
==28546==    by 0x1BADB7: glue_tool_entry_open (backglue.c:757)
==28546==    by 0x1BF930: slapadd (slapadd.c:114)
==28546==    by 0x132223: main (main.c:652)
==28546==
==28546== Warning: set address range perms: large range [0xafb2000, 0x1efb4000) (noaccess) --28546-- Discarding syms at 0x95c0ba0-0x95c8a28 in /usr/lib64/sasl2/libdigestmd5.so.2.0.22 due to munmap() --28546-- Discarding syms at 0x93bb1a0-0x93bd038 in /usr/lib64/sasl2/liblogin.so.2.0.22 due to munmap() --28546-- Discarding syms at 0x91b5520-0x91b82e8 in /usr/lib64/sasl2/libsasldb.so.2.0.22 due to munmap() --28546-- Discarding syms at 0x82a9930-0x82adae8 in /usr/lib64/sasl2/libgssapiv2.so.2.0.22 due to munmap() --28546-- Discarding syms at 0x84b66d0-0x84d5d58 in /usr/lib64/libgssapi_krb5.so.2.2 due to munmap() --28546-- Discarding syms at 0x86f5590-0x87663b8 in /usr/lib64/libkrb5.so.3.3 due to munmap() --28546-- Discarding syms at 0x8983a80-0x8997ac8 in /usr/lib64/libk5crypto.so.3.1 due to munmap() --28546-- Discarding syms at 0x8ba53e0-0x8ba5f18 in /lib64/libcom_err.so.2.1 due to munmap() --28546-- Discarding syms at 0x8da9ea0-0x8dadb38 in /usr/lib64/libkrb5support.so.0.1 due to munmap() --28546-- Discarding syms at 0x8fb1bb0-0x8fb2138 in /lib64/libkeyutils-1.2.so due to munmap() --28546-- Discarding syms at 0x80a32a0-0x80a5768 in /usr/lib64/sasl2/libcrammd5.so.2.0.22 due to munmap() --28546-- Discarding syms at 0x7e9e190-0x7e9fea8 in /usr/lib64/sasl2/libanonymous.so.2.0.22 due to munmap() --28546-- Discarding syms at 0x7c991b0-0x7c9b068 in /usr/lib64/sasl2/libplain.so.2.0.22 due to munmap()

valgrind: m_mallocfree.c:225 (mk_plain_bszB): Assertion 'bszB != 0' failed.
valgrind: This is probably caused by your program erroneously writing past the
end of a heap block and corrupting heap metadata.  If you fix any
invalid writes reported by Memcheck, this assertion failure will
probably go away.  Please try that before reporting this as a bug.

==28546== at 0x3802AD34: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==28546== by 0x3802AFA7: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==28546== by 0x380371B3: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==28546== by 0x38001F29: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==28546== by 0x38063328: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux) ==28546== by 0x3808AEC4: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable
==28546== at 0x4C25DD8: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28546==    by 0x1574BE: attr_destroy (attr.c:712)
==28546==    by 0x17E741: slap_destroy (init.c:254)
==28546==    by 0x1C071A: slap_tool_destroy (slapcommon.c:865)
==28546==    by 0x1BF4E2: slapadd (slapadd.c:570)
==28546==    by 0x132223: main (main.c:652)



Marc