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

RE: Seg Faults with ldapdelete (ITS#53)



I still have the core dumps on a delete.   I configured ldap
like so:

LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" ./configure
 --without-threads --with-ldbm-api=gdbm --prefix=/usr/local/seth

> uname -sprv
OSF1 V4.0 878 alpha


(startup server)
> ldapdelete -h localhost -w xxx -D "xxx" \
                                         -p 393   
"uid=1339248,o=PageMart.com"

### -d 5
slapd 1.2.0-Engineering (Tue Feb  2 10:02:27 CST 1999)
        sdaniel@infoweb.pagemart.com:/develop/users/sdaniel/prj/ldap/ldap-  
1.2pre2/servers/slapd
slapd starting
do_bind
do_bind: version 2 dn (cn=Directory Manager) method 128
send_ldap_result 9::Referral:
ldap://infoweb.pagemart.com:390
do_delete
do_delete: dn (uid=1339248,o=PageMart.com)
==> ldbm_back_delete: UID=1339248,O=PAGEMART.COM
dn2entry_w: dn: "UID=1339248,O=PAGEMART.COM"
=> dn2id( "UID=1339248,O=PAGEMART.COM" )
=> ldbm_cache_open( "/data/ldap393/dn2id.gdbm", 2, 600 )
ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 4)
<= ldbm_cache_open (opened 0)
<= dn2id 94437
=> id2entry_w( 94437 )
=> ldbm_cache_open( "/data/ldap393/id2entry.gdbm", 2, 600 )
ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 4)
<= ldbm_cache_open (opened 1)
=> str2entry
<= str2entry 0x1400189e0
entry_rdwr_wlock: ID: 94437
<= id2entry_w( 94437 ) (disk)
rdwr_Xchk: readers_reading: 0 writer_writing: 1
=> has_children( 94437 )
=> ldbm_cache_open( "/data/ldap393/id2children.gdbm", 2, 600 )
ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 4)
<= ldbm_cache_open (opened 2)
idl_free: called with NULL pointer
<= has_children 0
rdwr_Xchk: readers_reading: 0 writer_writing: 1
dn2entry_w: dn: "O=PAGEMART.COM"
=> dn2id( "O=PAGEMART.COM" )
=> ldbm_cache_open( "/data/ldap393/dn2id.gdbm", 2, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 5
=> id2entry_w( 5 )
=> ldbm_cache_open( "/data/ldap393/id2entry.gdbm", 2, 600 )
<= ldbm_cache_open (cache 1)
=> str2entry
<= str2entry 0x140018a30
entry_rdwr_wlock: ID: 5
<= id2entry_w( 5 ) (disk)
=> acl_get: edn O=PAGEMART.COM
=> id2children_remove( 5, 94437 )
=> ldbm_cache_open( "/data/ldap393/id2children.gdbm", 2, 600 )
<= ldbm_cache_open (cache 2)
/usr/local/seth/sbin/ldap393: 6684 Memory fault(coredump)


(start up server)
> ldapdelete -h localhost -w xxx -D "xxx" \
                                         -p 393   
"uid=1339248,o=PageMart.com"

### -d 133
slapd 1.2.0-Engineering (Tue Feb  2 10:02:27 CST 1999)
        sdaniel@infoweb.pagemart.com:/develop/users/sdaniel/prj/ldap/ldap-  
1.2pre2/servers/slapd
slapd starting
do_bind
do_bind: version 2 dn (cn=Directory Manager) method 128
send_ldap_result 9::Referral:
ldap://infoweb.pagemart.com:390
do_delete
do_delete: dn (uid=1339248,o=PageMart.com)
==> ldbm_back_delete: UID=1339248,O=PAGEMART.COM
dn2entry_w: dn: "UID=1339248,O=PAGEMART.COM"
=> dn2id( "UID=1339248,O=PAGEMART.COM" )
=> ldbm_cache_open( "/data/ldap393/dn2id.gdbm", 2, 600 )
ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 4)
<= ldbm_cache_open (opened 0)
<= dn2id 94437
=> id2entry_w( 94437 )
=> ldbm_cache_open( "/data/ldap393/id2entry.gdbm", 2, 600 )
ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 4)
<= ldbm_cache_open (opened 1)
=> str2entry
<= str2entry 0x1400189e0
entry_rdwr_wlock: ID: 94437
<= id2entry_w( 94437 ) (disk)
rdwr_Xchk: readers_reading: 0 writer_writing: 1
=> has_children( 94437 )
=> ldbm_cache_open( "/data/ldap393/id2children.gdbm", 2, 600 )
ldbm_cache_open (blksize 8192) (maxids 1022) (maxindirect 4)
<= ldbm_cache_open (opened 2)
idl_free: called with NULL pointer
<= has_children 0
rdwr_Xchk: readers_reading: 0 writer_writing: 1
dn2entry_w: dn: "O=PAGEMART.COM"
=> dn2id( "O=PAGEMART.COM" )
=> ldbm_cache_open( "/data/ldap393/dn2id.gdbm", 2, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 5
=> id2entry_w( 5 )
=> ldbm_cache_open( "/data/ldap393/id2entry.gdbm", 2, 600 )
<= ldbm_cache_open (cache 1)
=> str2entry
<= str2entry 0x140018a30
entry_rdwr_wlock: ID: 5
<= id2entry_w( 5 ) (disk)

=> access_allowed: entry (o=PageMart.com) attr (children)

=> acl_get: entry (o=PageMart.com) attr (children)
=> acl_get: edn O=PAGEMART.COM
<= acl_get: no match

=> acl_access_allowed: write access to entry "o=PageMart.com"

=> acl_access_allowed: write access to value "any" by ""
<= acl_access_allowed: granted by default (no matching to)

=> access_allowed: exit (o=PageMart.com) attr (children)
=> id2children_remove( 5, 94437 )
=> ldbm_cache_open( "/data/ldap393/id2children.gdbm", 2, 600 )
<= ldbm_cache_open (cache 2)
/usr/local/seth/sbin/ldap393: 5839 Memory fault(coredump)


### backtrace

> ladebug slapd core
>0  0x120038e68 in gdbm_store(0x140013bc0, 0x140013bc0, 0x100000010,   
0x11ffff140, 0x3, 0x140019040) DebugInformationStrippedFromFile306
#1  0x1200312c4 in ldbm_store(ldbm=0x0, key=struct { ... }, data=struct {   
... }, flags=-2147483647) ldbm.c:472
#2  0x12002f5c8 in ldbm_cache_store(db=0x140019040, key=struct { ... },   
data=struct { ... }, flags=-2147483647) dbcache.c:212
#3  0x12002a754 in idl_store(be=0x140015040, db=0x140019040, key=struct {   
... }, idl=0x140013bc0) idl.c:214
#4  0x12002bb60 in idl_delete_key(be=0x140015040, db=0x140019040,   
key=struct { ... }, id=94437) idl.c:689
#5  0x12002db6c in id2children_remove(be=0x140015040, p=0x140018a30,   
e=0x1400189e0) id2children.c:86
#6  0x120024f50 in ldbm_back_delete(be=0x140015040, conn=0x140023cb0,   
op=0x140023300, dn=0x14001fe90="248,O=PAGEMART.COM") delete.c:112
#7  0x1200160d4 in do_delete(conn=0x140023cb0, op=0x140023300)   
delete.c:77
#8  0x120009d44 in connection_operation(arg_v=0x140023380)   
connection.c:58
#9  0x120032484 in ldap_pvt_thread_create(thread=0x140023348, detach=1,   
start_routine=0x120009c20, arg=0x140023380) thr_stub.c:40
#10 0x12000a58c in connection_activity(conn=0x140023cb0) connection.c:207
#11 0x1200096ec in slapd_daemon(port=0x189) daemon.c:371
#12 0x120032484 in ldap_pvt_thread_create(thread=0x14000c848, detach=0,   
start_routine=0x1200079a0, arg=0x189) thr_stub.c:40
#13 0x120007378 in main(argc=7, argv=0x11ffffa08) main.c:194


Hmmm.  It appears to be crashing in a gdbm routine.  I just noticed
this (gdbm-1.7.3).


 -seth