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

(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 ?? ()




Everything works fine in 32bits (Debian 5.0 i386), but it fails with 64bits.

Any idea?