> Full_Name: Andrés Marenco Zúñiga > Version: 2.4.23 (20100719) > OS: Debian 5.06 amd64 > URL: > Submission from: (NULL) (201.198.99.66) > > > I'm getting a segfault while doing any search in openldap. This is my > configuration: > > Debian 5.06 amd64 (kernel 2.6.26-2-amd64) > OpenLDAP 2.4.23 (20100719) > UnixODBC 2.3.0 > PostgreSQL 8.2.10 > psqlodbc 09.00.0101 > > > ############################################################################# > slapd.conf (the relevant parts) > ############################################################################# > include /var/lib/openldap/etc/openldap/schema/core.schema > include /var/lib/openldap/etc/openldap/schema/cosine.schema > include > /var/lib/openldap/etc/openldap/schema/inetorgperson.schema > > pidfile /var/lib/openldap/var/slapd.pid > argsfile /var/lib/openldap/slapd.args > > database sql > suffix "dc=example,dc=com" > rootdn "cn=root,dc=example,dc=com" > rootpw secret > dbname PgSQL > dbuser "" > dbpasswd "" > insentry_stmt "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) > values > ((select max(id)+1 from ldap_entries),?,?,?,?)" > upper_func "upper" > strcast_func "text" > concat_pattern "?||?" > has_ldapinfo_dn_ru no > > lastmod off > > > > ############################################################################# > odbcinst.ini > ############################################################################# > [PostgreSQL] > Description=ODBC for PostgreSQL > Driver=/usr/local/lib/psqlodbcw.so > > > ############################################################################# > odbc.ini > ############################################################################# > [PgSQL] > Driver=/usr/local/lib/psqlodbcw.so > Description=Connection to LDAP/POSTGRESQL > Server=xxx.xxx.xxx.xxx > Port=5432 > Protocol=6.4 > FetchBufferSize=99 > Database=db > Username=user > ReadOnly=no > CommLog=1 > > > > > > > slapd starts fine, but when I make any search this is what I'm getting: > > <= send_search_entry: conn 1000 exit. > send_ldap_result: conn=1000 op=2 p=3 > send_ldap_result: err=0 matched="" text="" > send_ldap_response: msgid=3 tag=101 err=0 > ber_flush2: 14 bytes to sd 11 > 0000: 30 0c 02 01 03 65 07 0a 01 00 04 00 04 00 0....e........ > ldap_write: want=14, written=14 > 0000: 30 0c 02 01 03 65 07 0a 01 00 04 00 04 00 0....e........ > conn=1000 op=2 SEARCH RESULT tag=101 err=0 nentries=1 text= > Segmentation Fault (Core Dumped) > > > > in the syslog this is what I have: > > Oct 29 17:53:17 td-server slapd[32026]: conn=1000 op=2 SEARCH RESULT > tag=101 > err=0 nentries=1 text= > Oct 29 17:53:17 td-server kernel: [10058.462325] slapd[32029]: segfault at > ffffffde0274e4a0 ip 46c23b sp 425d7570 error 4 in slapd[400000+161000] > > > > and the gdb backtrace shows this: > > Core was generated by `/var/lib/openldap/libexec/slapd -d -1'. > Program terminated with signal 11, Segmentation fault. > [New process 31991] > [New process 31987] > [New process 31990] > #0 0x000000000046c23b in ?? () > #1 0x0000000000499903 in ?? () > #2 0x000000000049e01b in ?? () > #3 0x000000000041ed51 in ?? () > #4 0x000000000041f54c in ?? () > #5 0x000000000041cb5f in ?? () > #6 0x000000000041d7dc in ?? () > #7 0x00000000004c8760 in ?? () > #8 0x00007fe1a4861fc7 in start_thread () from /lib/libpthread.so.0 > #9 0x00007fe1a45d764d in clone () from /lib/libc.so.6 > #10 0x0000000000000000 in ?? ()
This trace is useless; since the issue appears to be repeatable, you should retry with slapd built with debugging symbols and unstripped. > > > > > Everything works fine in 32bits (Debian 5.0 i386), but it fails with > 64bits. > > Any idea? > Moreover, you may want to try with HEAD code, where some modifications to deal with 64 bit (long int) key values. Should be unrelated, but just in case... p.
