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

Re: (ITS#4892) slapd HEAD crashes with ldapi:// and SASL EXTERNAL



Debug output related to this:

---------------------------- `slapd -d 255` ---------------------------

daemon: activity on 1 descriptor
daemon: activity on:
slap_listener_activate(8):
daemon: epoll: listen=7 active_threads=0 tvp=zero
daemon: epoll: listen=8 busy
>>> >>>
slap_listener(ldapi://%2fhome%2fmichael%2fBizness%2fOpenLDAP%2fODD_2006%2fslapd-socket)
daemon: listen=8, new connection on 15
daemon: added 15r (active) listener=(nil)
daemon: activity on 2 descriptors
daemon: activity on: 15r
daemon: read active on 15
daemon: epoll: listen=7 active_threads=0 tvp=zero
daemon: epoll: listen=8 active_threads=0 tvp=zero
connection_get(15)
connection_get(15): got connid=0
connection_read(15): checking for input on id=0
ber_get_next
ldap_read: want=8, got=8
  0000:  30 18 02 01 01 60 13 02                            0....`..

ldap_read: want=18, got=18
  0000:  01 03 04 00 a3 0c 04 08  45 58 54 45 52 4e 41 4c
........EXTERNAL
  0010:  04 00                                              ..

ber_get_next: tag 0x30 len 24 contents:
ber_dump: buf=0x08247cb0 ptr=0x08247cb0 end=0x08247cc8 len=24
  0000:  02 01 01 60 13 02 01 03  04 00 a3 0c 04 08 45 58
...`..........EX
  0010:  54 45 52 4e 41 4c 04 00                            TERNAL..

ber_get_next
ldap_read: want=8 error=Resource temporarily unavailable
do_bind
ber_scanf fmt ({imt) ber:
ber_dump: buf=0x08247cb0 ptr=0x08247cb3 end=0x08247cc8 len=21
  0000:  60 13 02 01 03 04 00 a3  0c 04 08 45 58 54 45 52
`..........EXTER
  0010:  4e 41 4c 04 00                                     NAL..

ber_scanf fmt ({m) ber:
ber_dump: buf=0x08247cb0 ptr=0x08247cba end=0x08247cc8 len=14
  0000:  00 0c 04 08 45 58 54 45  52 4e 41 4c 04 00
....EXTERNAL..
ber_scanf fmt (m) ber:
ber_dump: buf=0x08247cb0 ptr=0x08247cc6 end=0x08247cc8 len=2
  0000:  00 00                                              ..

ber_scanf fmt (}}) ber:
ber_dump: buf=0x08247cb0 ptr=0x08247cc8 end=0x08247cc8 len=0

>>> >>> dnPrettyNormal: <>
<<< dnPrettyNormal: <>, <>
do_sasl_bind: dn () mech EXTERNAL
==> sasl_bind: dn="" mech=EXTERNAL datalen=0
SASL Canonicalize [conn=0]:
authcid="gidNumber=100+uidNumber=500,cn=peercred,cn=external,cn=auth"
slap_sasl_getdn: conn 0
id=gidNumber=100+uidNumber=500,cn=peercred,cn=external,cn=auth [len=59]
==>slap_sasl2dn: converting SASL name
gidNumber=100+uidNumber=500,cn=peercred,cn=external,cn=auth to a DN
==> rewrite_context_apply [depth=1]
string='gidNumber=100+uidNumber=500,cn=peercred,cn=external,cn=auth'
==> rewrite_rule_apply
rule='gidnumber=([0-9]+)\+uidnumber=([0-9]+),cn=peercred,cn=external,cn=auth'
string='gidNumber=100+uidNumber=500,cn=peercred,cn=external,cn=auth' [1
pass(es)]
==> rewrite_context_apply [depth=1]
res={0,'ldap:///ou=Users,ou=odd2006,dc=block-floete,dc=de??sub?(&(objectClass=posixAccount)(uidNumber=500)(gidNumber=100))'}
[rw] authid:
"gidNumber=100+uidNumber=500,cn=peercred,cn=external,cn=auth" ->
"ldap:///ou=Users,ou=odd2006,dc=block-floete,dc=de??sub?(&(objectClass=posixAccount)(uidNumber=500)(gidNumber=100))"
slap_parseURI: parsing
ldap:///ou=Users,ou=odd2006,dc=block-floete,dc=de??sub?(&(objectClass=posixAccount)(uidNumber=500)(gidNumber=100))
ldap_url_parse_ext(ldap:///ou=Users,ou=odd2006,dc=block-floete,dc=de??sub?(&(objectClass=posixAccount)(uidNumber=500)(gidNumber=100)))
str2filter "(&(objectClass=posixAccount)(uidNumber=500)(gidNumber=100))"
put_filter: "(&(objectClass=posixAccount)(uidNumber=500)(gidNumber=100))"
put_filter: AND
put_filter_list "(objectClass=posixAccount)(uidNumber=500)(gidNumber=100)"
put_filter: "(objectClass=posixAccount)"
put_filter: simple
put_simple_filter: "objectClass=posixAccount"
put_filter: "(uidNumber=500)"
put_filter: simple
put_simple_filter: "uidNumber=500"
put_filter: "(gidNumber=100)"
put_filter: simple
put_simple_filter: "gidNumber=100"
begin get_filter
AND
begin get_filter_list
begin get_filter
EQUALITY
ber_scanf fmt ({mm}) ber:
ber_dump: buf=0xb1f76154 ptr=0xb1f76156 end=0xb1f76197 len=65
  0000:  a3 1b 04 0b 6f 62 6a 65  63 74 43 6c 61 73 73 04
....objectClass.
  0010:  0c 70 6f 73 69 78 41 63  63 6f 75 6e 74 a3 10 04
.posixAccount...
  0020:  09 75 69 64 4e 75 6d 62  65 72 04 03 35 30 30 a3
.uidNumber..500.
  0030:  10 04 09 67 69 64 4e 75  6d 62 65 72 04 03 31 30
...gidNumber..10
  0040:  30                                                 0

end get_filter 0
begin get_filter
EQUALITY
ber_scanf fmt ({mm}) ber:
ber_dump: buf=0xb1f76154 ptr=0xb1f76173 end=0xb1f76197 len=36
  0000:  00 10 04 09 75 69 64 4e  75 6d 62 65 72 04 03 35
....uidNumber..5
  0010:  30 30 a3 10 04 09 67 69  64 4e 75 6d 62 65 72 04
00....gidNumber.
  0020:  03 31 30 30                                        .100

end get_filter 0
begin get_filter
EQUALITY
ber_scanf fmt ({mm}) ber:
ber_dump: buf=0xb1f76154 ptr=0xb1f76185 end=0xb1f76197 len=18
  0000:  00 10 04 09 67 69 64 4e  75 6d 62 65 72 04 03 31
....gidNumber..1
  0010:  30 30                                              00

end get_filter 0
end get_filter_list
end get_filter 0
>>> >>> dnNormalize: <ou=Users,ou=odd2006,dc=block-floete,dc=de>
=> ldap_bv2dn(ou=Users,ou=odd2006,dc=block-floete,dc=de,0)
<= ldap_bv2dn(ou=Users,ou=odd2006,dc=block-floete,dc=de)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(ou=users,ou=odd2006,dc=block-floete,dc=de)=0
<<< dnNormalize: <ou=users,ou=odd2006,dc=block-floete,dc=de>
slap_sasl2dn: performing internal search
(base=ou=users,ou=odd2006,dc=block-floete,dc=de, scope=2)
=> hdb_search
bdb_dn2entry("ou=users,ou=odd2006,dc=block-floete,dc=de")
entry_decode: ""
<= entry_decode()
=> access_allowed: auth access to
"ou=Users,ou=odd2006,dc=block-floete,dc=de" "entry" requested
=> dn: [4] ou=users,ou=odd2006,dc=block-floete,dc=de
=> acl_get: [4] matched
=> acl_get: [4] attr entry
=> acl_mask: access to entry
"ou=Users,ou=odd2006,dc=block-floete,dc=de", attr "entry" requested
=> acl_mask: to all values by "", (=0)
<= check a_dn_pat: *
<= acl_mask: [2] applying read(=rscxd) (stop)
<= acl_mask: [2] mask: read(=rscxd)
=> slap_access_allowed: auth access granted by read(=rscxd)
=> access_allowed: auth access granted by read(=rscxd)
search_candidates: base="ou=users,ou=odd2006,dc=block-floete,dc=de"
(0x00000002) scope=2
=> hdb_dn2idl("ou=users,ou=odd2006,dc=block-floete,dc=de")
=> bdb_filter_candidates
        AND
=> bdb_list_candidates 0xa0
=> bdb_filter_candidates
        OR
=> bdb_list_candidates 0xa1
=> bdb_filter_candidates
        EQUALITY
=> bdb_equality_candidates (objectClass)
=> key_read
bdb_idl_fetch_key: [b49d1940]
<= bdb_index_read: failed (-30989)
<= bdb_equality_candidates: id=0, first=0, last=0
<= bdb_filter_candidates: id=0 first=0 last=0
=> bdb_filter_candidates
        AND
=> bdb_list_candidates 0xa0
=> bdb_filter_candidates
        EQUALITY
=> bdb_equality_candidates (objectClass)
=> key_read
bdb_idl_fetch_key: [5941c014]
<= bdb_index_read: failed (-30989)
<= bdb_equality_candidates: id=0, first=0, last=0
<= bdb_filter_candidates: id=0 first=0 last=0
<= bdb_list_candidates: id=0 first=0 last=0
<= bdb_filter_candidates: id=0 first=0 last=0
<= bdb_list_candidates: id=0 first=0 last=0
<= bdb_filter_candidates: id=0 first=0 last=0
<= bdb_list_candidates: id=0 first=2 last=0
<= bdb_filter_candidates: id=0 first=2 last=0
bdb_search_candidates: id=0 first=2 last=0
hdb_search: no candidates
send_ldap_result: conn=0 op=0 p=3
send_ldap_result: err=0 matched="" text=""
<==slap_sasl2dn: Converted SASL name to <nothing>
SASL Canonicalize [conn=0]:
slapAuthcDN="gidNumber=100+uidNumber=500,cn=peercred,cn=external,cn=auth"
./start-slapd.sh: line 12:  4310 Segmentation fault
${OPENLDAP_PREFIX}/libexec/slapd -d 255 -h "ldap://0.0.0.0:2006
ldapi://%2fhome%2fmichael%2fBizness%2fOpenLDAP%2fODD_2006%2fslapd-socket"
-n slapd-odd2006 -u michael -o slp=off -f ${LOCALCONFIG}/slapd.conf