Eric wrote:
Thank you for your helpful reply. After taking a closer look at some Active Directory attribute values, I discovered a single space character was inserted into several attribute values.
Do you mean a value consisting in a single blank? That may cause a lot of errors, and it is practically untestable with OpenLDAP since I believe there are no syntaxes that allow it.
I am able to consistently cause the assertion to occur if a single space character is inserted into either the "homePhone" or "pager" attribute of an Active Directory User object, and then search the meta directory for that object.
Again, the assertion will only occur if "overlay rwm" is used before or within the "database meta" section of my slapd.conf. If I comment or remove the overlay, ldapsearch returns the entry and slapd continues to operate.
ldapsearch -x -W -D 'cn=ef87,ou=users,dc=ad,dc=company,dc=com' -b 'ou=users,dc=ad,dc=company,dc=com' '(uid=ef87)'
gdb /usr/local/libexec/slapd GNU gdb Red Hat Linux (6.5-37.el5_2.2rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/i686/nosegneg/libthread_db.so.1".
(gdb) r -d0 -h ldap:/// ldaps:/// -f /usr/local/etc/openldap/slapd.conf Starting program: /usr/local/libexec/slapd -d0 -h ldap:/// ldaps:/// -f /usr/local/etc/openldap/slapd.conf (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [New Thread -1208486192 (LWP 9744)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [New Thread -1224119408 (LWP 9747)] [New Thread -1228317808 (LWP 9748)] [New Thread -1232516208 (LWP 9749)] [New Thread -1236714608 (LWP 9750)] [New Thread -1240913008 (LWP 9751)] slapd: attr.c:141: attr_dup: Assertion `j == i' failed.
Program received signal SIGABRT, Aborted. [Switching to Thread -1228317808 (LWP 9748)] 0x00be8402 in __kernel_vsyscall () (gdb) bt full #0 0x00be8402 in __kernel_vsyscall () No symbol table info available. #1 0x0089ef20 in raise () from /lib/i686/nosegneg/libc.so.6 No symbol table info available. #2 0x008a0901 in abort () from /lib/i686/nosegneg/libc.so.6 No symbol table info available. #3 0x008982fb in __assert_fail () from /lib/i686/nosegneg/libc.so.6 No symbol table info available. #4 0x0807dd03 in attr_dup () No symbol table info available. #5 0x0807ddc8 in attrs_dup () No symbol table info available. #6 0x0807e3b4 in entry_dup () No symbol table info available. #7 0x0817d868 in rwm_initialize () No symbol table info available. #8 0x080cc3d2 in glue_sub_add () No symbol table info available. #9 0x0808416f in slap_send_search_entry () No symbol table info available. #10 0x080f84f2 in meta_back_search () No symbol table info available. #11 0x080cc5d1 in overlay_op_walk () No symbol table info available. #12 0x080cc9bd in overlay_destroy_one () No symbol table info available. #13 0x0807716f in fe_op_search () No symbol table info available. #14 0x08077a90 in do_search () No symbol table info available. #15 0x080752d2 in connection2anonymous () No symbol table info available. #16 0x0819d923 in ldap_pvt_thread_pool_submit () No symbol table info available. #17 0x009f2482 in start_thread () from /lib/i686/nosegneg/libpthread.so.0 No symbol table info available. #18 0x00948c8e in clone () from /lib/i686/nosegneg/libc.so.6 No symbol table info available. (gdb)
This backtrace is useless, since it contains no debugging symbols. See http://www.openldap.org/faq/data/cache/56.html for instructions about how to help in tracking issues. Anyway, if my understanding of your issue is correct, now I know what to look for, at least.
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ----------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Fax: +39 0382 476497 Email: ando@sys-net.it -----------------------------------