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

Re: Segfault with current on a search (ITS#451)



Kurt Zeilenga wrote:
> 
> If you were using GDBM, I might want to try 'cvs upd; make'.
> I just applied a GDBM specific fix.  Otherwise, you'll need
> to provide a little more detail, such as a full back trace,
> information about which configure options you selected,
> which compiler and compiler flags you are using, etc..
> 
> Kurt
Okay I did a cvs upd this morning (11:00am Mountain time), problem still
exists.  
THe configuration I'm using is the following:
Freebsd-i386 3.4
gcc 2.7.2.3 
Berkley DB version 2.7.7

(I've also tried this under Solaris 7, gcc 2.95.2, Berkeley DB 2.7.7,
and FreeBSD-4.0 with gcc2.95.2, Berkeley DB 2.7.7, they also fail in the
same way so I don't think its an OS issue.)

The only configure option I'm changing from the defaults is the prefix
for install.  Configure finds that its using Berkley DB2 correctly, and
everything else is a stock FreeBSD system.

The binary is compiled with the usuall -g -O2 options (the default I
believe.)
Here is the output when slapd was run (for the search filters):

slapd starting
daemon: conn=0 fd=9 connection from IP=128.123.3.10:2567
(IP=128.123.3.10:3900)
accepted.
conn=0 op=0 BIND dn="" method=128
conn=0 op=0 RESULT tag=97 err=0 text=
conn=0 op=1 SRCH base="dc=NMSU,dc=Edu" scope=2 filter="(|(cn=ian*
logan*)(mail=
AN* LOGAN*)(sn=ian* logan*))"
Segmentation fault (core dumped)


Here is the backtrace from gdb on the core file.
GNU gdb 4.18
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libfetch.so.1...done.
Reading symbols from /usr/lib/libcom_err.so.2...done.
Reading symbols from /usr/lib/libcrypt.so.2...done.
Reading symbols from /usr/lib/libutil.so.2...done.
Reading symbols from /usr/lib/libc_r.so.3...done.
Reading symbols from /usr/libexec/ld-elf.so.1...done.
#0  0x80697d7 in substring_comp_candidates (be=0x80c9400, type=0x80e4570
"cn",
    bv=0x80e45e0, prepost=0) at filterindex.c:361
361                             buf[i] = p[i];
(gdb) where
#0  0x80697d7 in substring_comp_candidates (be=0x80c9400, type=0x80e4570
"cn",
    bv=0x80e45e0, prepost=0) at filterindex.c:361
#1  0x8069628 in substring_candidates (be=0x80c9400, f=0x80d2120)
    at filterindex.c:291
#2  0x8068e1e in filter_candidates (be=0x80c9400, f=0x80d2120)
    at filterindex.c:72
#3  0x806940d in list_candidates (be=0x80c9400, flist=0x80d2120,
ftype=161)
    at filterindex.c:219
#4  0x8068ffd in filter_candidates (be=0x80c9400, f=0x80d20e0)
    at filterindex.c:102
#5  0x806940d in list_candidates (be=0x80c9400, flist=0x80d22e0,
ftype=161)
    at filterindex.c:219
#6  0x8068ffd in filter_candidates (be=0x80c9400, f=0x80d22a0)
    at filterindex.c:102
#7  0x806940d in list_candidates (be=0x80c9400, flist=0x80d2320,
ftype=160)
    at filterindex.c:219
#8  0x8068ffd in filter_candidates (be=0x80c9400, f=0x80d2300)
    at filterindex.c:102
#9  0x806463b in search_candidates (be=0x80c9400, e=0x80d2280,
    filter=0x80d20e0, scope=2, deref=0, manageDSAit=0) at search.c:479
#10 0x8063e45 in ldbm_back_search (be=0x80c9400, conn=0x80e54a4,
op=0x80e0e80,
    base=0x80e4550 "dc=NMSU,dc=Edu", nbase=0x80e4560 "DC=NMSU,DC=EDU",
    scope=2, deref=0, slimit=100, tlimit=3600, filter=0x80d20e0,
    filterstr=0x80d0040 "(|(cn=ian* logan*)(mail=IAN* LOGAN*)(sn=ian*
logan*))"
 attrs=0x80d0000, attrsonly=0) at search.c:135
#11 0x804e5ef in do_search (conn=0x80e54a4, op=0x80e0e80) at
search.c:227
#12 0x804d6a5 in connection_operation (arg_v=0x80e4480) at
connection.c:763
#13 0x28112b3a in _thread_start () from /usr/lib/libc_r.so.3
#14 0x0 in ?? ()

If there is any more info you need please let me know and I'll get it
for you.
Thanks for your help!
Ian
-- 
Ian Logan
Computing & Networking
New Mexico State University
Email: ian@nmsu.edu Phone: 505-646-6034 Fax: 505-646-5278