[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
delete segfaults server in 1.1.2?
All,
A quick rundown of my problem. I can crash my running LDAP server
simply by issuing the following command:
ldapdelete -p 391 -h 127.0.0.1 -v -w password 'pin=1814500,
o=company.com'
The dn in the previous example exists. The following is the servers
backtrace
shown using the -d 1 switch:
do_bind
do_bind: version 2 dn (cn=Directory Manager) method 128
send_ldap_result 9::Referral:
ldap://infoweb.company.com:391
do_bind
do_bind: version 2 dn (cn=Directory Manager) method 128
send_ldap_result 9::Referral:
ldap://infoweb.company.com:391
do_bind
do_bind: version 2 dn (cn=Directory Manager) method 128
send_ldap_result 9::Referral:
ldap://infoweb.company.com:391
do_bind
do_bind: version 2 dn (cn=Directory Manager) method 128
send_ldap_result 9::Referral:
ldap://infoweb.company.com:391
do_bind
do_bind: version 2 dn (cn=Directory Manager) method 128
send_ldap_result 9::Referral:
ldap://infoweb.company.com:391
do_delete
dn2entry_w: dn: pmpin=1814500,o=company.com
=> dn2id( "pmpin=1814500,o=company.com" )
=> ldbm_cache_open( "/data/ldap2/dn2id.gdbm", 2, 600 )
<= ldbm_cache_open (opened 0)
<= dn2id 132757
=> id2entry_w( 132757 )
=> ldbm_cache_open( "/data/ldap2/id2entry.gdbm", 2, 600 )
<= ldbm_cache_open (opened 1)
=> str2entry
<= str2entry 0x14046f480
<= id2entry_w( 132757 ) (disk)
rdwr_Xchk: readers_reading: 0 writer_writing: 1
=> has_children( 132757 )
=> ldbm_cache_open( "/data/ldap2/id2children.gdbm", 2, 600 )
<= ldbm_cache_open (opened 2)
<= has_children 0
rdwr_Xchk: readers_reading: 0 writer_writing: 1
dn2entry_r: dn: o=company.com
=> dn2id( "o=company.com" )
=> ldbm_cache_open( "/data/ldap2/dn2id.gdbm", 2, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 5
=> id2entry_r( 5 )
=> ldbm_cache_open( "/data/ldap2/id2entry.gdbm", 2, 600 )
<= ldbm_cache_open (cache 1)
=> str2entry
<= str2entry 0x14046eee0
<= id2entry_r( 5 ) (disk)
=> id2children_remove( 5, 132757 )
=> ldbm_cache_open( "/data/ldap2/id2children.gdbm", 2, 600 )
<= ldbm_cache_open (cache 2)
Segmentation fault (core dumped)
#-- END
As you can see from the trace I am using gdbm as a backend. I am
running the LDAP server on OSF1 V4.0.
I'd be happy to provide any information that is requested (of course!).
Some observations:
o the database has around 140,000 entries
o the server crashes on delete if the dn exists, but does not crash if
the
dn does not exist
Perhaps a related problem is the following:
It seems I cannot get the correct results back using ldapsearch unless
I use wildcards.
Example:
> ldapsearch -v \
-h 127.0.0.1 \
-p 391 \
-w 'password' \
-D 'cn=Directory Manager' \
-b 'o=company.com' \
'pmpin=1524358\*'
ldap_open( 127.0.0.1, 391 )
filter pattern: pmpin=1524358\*
returning: ALL
filter is: (pmpin=1524358\*)
pmpin=1524358,o=company.com
objectclass=top
objectclass=CompanyPins
pmpin=1524358
> ldapsearch -v \
-h 127.0.0.1 \
-p 391 \
-w 'password' \
-D 'cn=Directory Manager' \
-b 'o=company.com' \
'pmpin=1524358'
ldap_open( 127.0.0.1, 391 )
filter pattern: pmpin=1524358
returning: ALL
filter is: (pmpin=1524358)
0 matches