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

Re: (ITS#6691) error 4 in slapd: segfault with back-sql in debian amd64



> 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.