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

Bug crashes slapd?



Hello,

maybe there's a bug in slapd. The bug occured when using "web500gw",
a X.500 web gateway from http://www.tu-chemnitz.de/~fri/web500gw,
together with openldap 1.2.0.

With the web500gw gateway you can browse in your ldap directory
via a web browser. When running this gateway and accessing the URL
http://ourldapserver:8888/ (the port 8888 is used by the gateway),
the slapd does a segementation fault.

Output from slapd -d 65535 (started at beginning of the operation):

--------------------------------------------------------------------
select activity on 1 descriptors
new connection on 7
conn=0 fd=7 connection from localhost.actis.de (127.0.0.1) accepted.
activity on:
listening for connections on 3, activity on: 7r
before select active_threads 0
select activity on 1 descriptors
activity on: 7r
read activity on 7
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
ber_dump: buf 0x3a1d0, ptr 0x3a1d0, end 0x3a1dc
          current len 12, contents:
        02 01 01  ` 07 02 01 02 04 00 80 00 
do_bind
do_bind: version 2 dn () method 128
conn=0 op=0 BIND dn="" method=128
send_ldap_result 0::
ber_flush: 14 bytes to sd 7
         0 0c 02 01 01  a 07 0a 01 00 04 00 04 00 
conn=0 op=0 RESULT err=0 tag=97 nentries=0
listening for connections on 3, activity on: 7r
before select active_threads 0
select activity on 1 descriptors
activity on: 7r
read activity on 7
ber_get_next
ber_get_next: tag 0x30 len 41 contents:
ber_dump: buf 0x71700, ptr 0x71700, end 0x71729
          current len 41, contents:
        02 01 02  c  $ 04 04  c  =  D  E 0a 01 00 0a 01
        02 02 01 00 02 01 00 01 01 00 87 0b  o  b  j  e
         c  t  C  l  a  s  s  0 00 
do_search
SRCH "C=DE" 0 2    0 0 0
begin get_filter
PRESENT
end get_filter 0
    filter: (objectclass=*)
    attrs:
conn=0 op=1 SRCH base="C=DE" scope=0 filter="(objectclass=*)"
send_ldap_result 32::
ber_flush: 14 bytes to sd 7
         0 0c 02 01 02  e 07 0a 01 20 04 00 04 00 
conn=0 op=1 RESULT err=32 tag=101 nentries=0
listening for connections on 3, activity on: 7r
before select active_threads 0
select activity on 1 descriptors
activity on: 7r
read activity on 7
ber_get_next
ber_get_next: tag 0x30 len 70 contents:
ber_dump: buf 0x2f880, ptr 0x2f880, end 0x2f8c6
          current len 70, contents:
        02 01 03  c  A 04  !  c  =  D  E  ,  o  =  A  C
         T  I  S 20  i  n 20  B  e  r  l  i  n 20  G  m
         b  H  , 20  c  =  D  E 0a 01 00 0a 01 02 02 01
        00 02 01 00 01 01 00 87 0b  o  b  j  e  c  t  C
         l  a  s  s  0 00 
do_search
SRCH "C=DE,O=ACTIS IN BERLIN GMBH,C=DE" 0 2    0 0 0
begin get_filter
PRESENT
end get_filter 0
    filter: (objectclass=*)
    attrs:
conn=0 op=2 SRCH base="C=DE,O=ACTIS IN BERLIN GMBH,C=DE" scope=0
filter="(object
class=*)"
=> ldbm_back_search
<= dereferencing dn: "C=DE,O=ACTIS IN BERLIN GMBH,C=DE"
dn2entry_r: dn: "C=DE,O=ACTIS IN BERLIN GMBH,C=DE"
=> dn2id( "C=DE,O=ACTIS IN BERLIN GMBH,C=DE" )
=> ldbm_cache_open( "/var/ldap/dn2id.dbb", 514, 600 )
ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 2)
<= ldbm_cache_open (opened 0)
<= dn2id NOID
dn2entry_r: dn: "O=ACTIS IN BERLIN GMBH,C=DE"
=> dn2id( "O=ACTIS IN BERLIN GMBH,C=DE" )
=> ldbm_cache_open( "/var/ldap/dn2id.dbb", 514, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 2
=> id2entry_r( 2 )
=> ldbm_cache_open( "/var/ldap/id2entry.dbb", 514, 600 )
ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 2)
<= ldbm_cache_open (opened 1)
=> str2entry
<= str2entry 0x718c0
entry_rdwr_rlock: ID: 2
<= id2entry_r( 2 ) (disk)
====> cache_return_entry_r
entry_rdwr_runlock: ID: 2
dn2entry_r: dn: "O=ACTIS IN BERLIN GMBH,C=DE"
=> dn2id( "O=ACTIS IN BERLIN GMBH,C=DE" )
====> cache_find_entry_dn2id: found dn: O=ACTIS IN BERLIN GMBH,C=DE
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
====> cache_find_entry_dn2id: found id: 2 rw: 0
entry_rdwr_rtrylock: ID: 2
<= id2entry_r 0x718c0 (cache)
<= matched O=ACTIS IN BERLIN GMBH,C=DE
<= remainder C=DE,
<= checking for alias for dn o=ACTIS in Berlin GmbH, c=DE
<= l&g we have O=ACTIS IN BERLIN GMBH,C=DE vs o=ACTIS in Berlin GmbH,
c=DE 
====> cache_return_entry_r
entry_rdwr_runlock: ID: 2
<= expanded to C=DE,o=ACTIS in Berlin GmbH, c=DE
====> cache_return_entry_r
entry_rdwr_runlock: ID: 2
dn2entry_r: dn: "C=DE,o=ACTIS in Berlin GmbH, c=DE"
=> dn2id( "C=DE,o=ACTIS in Berlin GmbH, c=DE" )
=> ldbm_cache_open( "/var/ldap/dn2id.dbb", 514, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "o=ACTIS in Berlin GmbH, c=DE"
=> dn2id( "o=ACTIS in Berlin GmbH, c=DE" )
====> cache_find_entry_dn2id: found dn: O=ACTIS IN BERLIN GMBH,C=DE
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
====> cache_find_entry_dn2id: found id: 2 rw: 0
entry_rdwr_rtrylock: ID: 2
<= id2entry_r 0x718c0 (cache)
====> cache_return_entry_r
entry_rdwr_runlock: ID: 2
dn2entry_r: dn: "o=ACTIS in Berlin GmbH, c=DE"
=> dn2id( "o=ACTIS in Berlin GmbH, c=DE" )
====> cache_find_entry_dn2id: found dn: O=ACTIS IN BERLIN GMBH,C=DE
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
====> cache_find_entry_dn2id: found id: 2 rw: 0
listening for connections on 3, activity on:entry_rdwr_rtrylock: ID: 2
 7r<= id2entry_r 0x718c0 (cache)

<= matched o=ACTIS in Berlin GmbH, c=DE
before select active_threads 1
<= remainder C=DE,
<= checking for alias for dn o=ACTIS in Berlin GmbH, c=DE
<= l&g we have o=ACTIS in Berlin GmbH, c=DE vs o=ACTIS in Berlin GmbH,
c=DE 
====> cache_return_entry_r
entry_rdwr_runlock: ID: 2
====> cache_return_entry_r
entry_rdwr_runlock: ID: 2
dn2entry_r: dn: "(null)"
Segmentation fault (core dumped)

-- 
Markus Marquardt /\ Atos GmbH - Division ACTIS EDI
mma@actis.de     \/     Systemadministration