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

Re: slapd aborts on MODRDN (ITS#1261)



--ReaqsoxgOBHFXBhH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Jul 30, 2001 at 12:31:46PM +0000, Pierangelo Masarati wrote:
> I'll look at this.

I just tested your changes to -HEAD. The posted LDIF replog does no
longer cause an abort. Attached is -d 5 output while replaying the
replog.

Regards & THX,
-- 
Lars Uffmann, <lars.uffmann@mediaways.net>, fon: +49 5246 80 1330

--ReaqsoxgOBHFXBhH
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="modrdn.log"

@(#) $OpenLDAP: slapd 2.X (Mon Jul 30 15:58:51 CEST 2001) $
	root@lnxf-001:/var/data/src/openldap2-head/servers/slapd
daemon_init: ldap://127.0.0.1:1389/
daemon_init: listen on ldap://127.0.0.1:1389/
daemon_init: 1 listeners to open...
ldap_url_parse_ext(ldap://127.0.0.1:1389/)
daemon: initialized ldap://127.0.0.1:1389/
daemon_init: 1 listeners opened
slapd init: initiated server.
slapd startup: initiated.
slapd starting
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 48 contents:
ber_get_next
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_bind
ber_scanf fmt ({iat) ber:
ber_scanf fmt (o}) ber:
do_bind: version=3 dn="cn=Manager,dc=my-domain,dc=com" method=128
==> ldbm_back_bind: dn: cn=Manager,dc=my-domain,dc=com
dn2entry_r: dn: "CN=MANAGER,DC=MY-DOMAIN,DC=COM"
=> dn2id( "CN=MANAGER,DC=MY-DOMAIN,DC=COM" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 33)
<= ldbm_cache_open (opened 0)
<= dn2id NOID
dn2entry_r: dn: "DC=MY-DOMAIN,DC=COM"
=> dn2id( "DC=MY-DOMAIN,DC=COM" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
do_bind: v3 bind: "cn=Manager,dc=my-domain,dc=com" to "cn=Manager,dc=my-domain,dc=com"
send_ldap_result: conn=0 op=0 p=3
send_ldap_result: err=0 matched="" text=""
send_ldap_response: msgid=1 tag=97 err=0
ber_flush: 14 bytes to sd 14
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 79 contents:
ber_get_next
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_add
ber_scanf fmt ({a) ber:
do_add: ndn (O=TESTSUFFIX)
ber_scanf fmt ({a{V}}) ber:
ber_scanf fmt ({a{V}}) ber:
ber_scanf fmt (}) ber:
dn2entry_r: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
==> ldbm_back_add: o=testsuffix
=> dn2id( "O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
oc_check_required entry (o=testsuffix), objectClass "top"
oc_check_required entry (o=testsuffix), objectClass "organization"
oc_check_allowed type "objectClass"
oc_check_allowed type "o"
oc_check_allowed type "creatorsName"
oc_check_allowed type "createTimestamp"
oc_check_allowed type "modifiersName"
oc_check_allowed type "modifyTimestamp"
=> ldbm_cache_open( "nextid.dbb", 73, 600 )
ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 33)
<= ldbm_cache_open (opened 1)
=> ldbm_cache_open( "nextid.dbb", 73, 600 )
<= ldbm_cache_open (cache 1)
entry_rdwr_wlock: ID: 1
=> index_entry_add( 1, "o=testsuffix" )
=> ldbm_cache_open( "objectClass.dbb", 73, 600 )
ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 33)
<= ldbm_cache_open (opened 2)
=> key_change(ADD,1)
<= key_change 0
=> key_change(ADD,1)
<= key_change 0
<= index_entry_add( 1, "o=testsuffix" ) success
=> dn2id_add( "O=TESTSUFFIX", 1 )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id_add 0
=> id2entry_add( 1, "o=testsuffix" )
=> ldbm_cache_open( "id2entry.dbb", 73, 600 )
ldbm_cache_open (blksize 8192) (maxids 2046) (maxindirect 33)
<= ldbm_cache_open (opened 3)
<= id2entry_add 0
send_ldap_result: conn=0 op=1 p=3
send_ldap_result: err=0 matched="" text=""
send_ldap_response: msgid=2 tag=105 err=0
ber_flush: 14 bytes to sd 14
entry_rdwr_wunlock: ID: 1
====> cache_return_entry_w( 1 ): created (0)
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 27 contents:
ber_get_next
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_delete
ber_scanf fmt (a) ber:
dn2entry_r: dn: "UID=TEST1,O=TESTSUFFIX"
=> dn2id( "UID=TEST1,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_r( 1 )
entry_rdwr_rtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_r( 1 ) 0x818ce70 (cache)
ldbm_referrals: op=74 target="uid=test1,o=testsuffix" matched="o=testsuffix"
entry_rdwr_runlock: ID: 1
====> cache_return_entry_r( 1 ): returned (0)
==> ldbm_back_delete: uid=test1,o=testsuffix
dn2entry_w: dn: "UID=TEST1,O=TESTSUFFIX"
=> dn2id( "UID=TEST1,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_r( 1 )
entry_rdwr_rtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_r( 1 ) 0x818ce70 (cache)
<=- ldbm_back_delete: no such object uid=test1,o=testsuffix
entry_rdwr_runlock: ID: 1
====> cache_return_entry_r( 1 ): returned (0)
send_ldap_result: conn=0 op=2 p=3
send_ldap_result: err=10 matched="o=testsuffix" text=""
send_ldap_response: msgid=3 tag=107 err=32
ber_flush: 26 bytes to sd 14
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 27 contents:
ber_get_next
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_delete
ber_scanf fmt (a) ber:
dn2entry_r: dn: "UID=TEST2,O=TESTSUFFIX"
=> dn2id( "UID=TEST2,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_r( 1 )
entry_rdwr_rtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_r( 1 ) 0x818ce70 (cache)
ldbm_referrals: op=74 target="uid=test2,o=testsuffix" matched="o=testsuffix"
entry_rdwr_runlock: ID: 1
====> cache_return_entry_r( 1 ): returned (0)
==> ldbm_back_delete: uid=test2,o=testsuffix
dn2entry_w: dn: "UID=TEST2,O=TESTSUFFIX"
=> dn2id( "UID=TEST2,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_r( 1 )
entry_rdwr_rtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_r( 1 ) 0x818ce70 (cache)
<=- ldbm_back_delete: no such object uid=test2,o=testsuffix
entry_rdwr_runlock: ID: 1
====> cache_return_entry_r( 1 ): returned (0)
send_ldap_result: conn=0 op=3 p=3
send_ldap_result: err=10 matched="o=testsuffix" text=""
send_ldap_response: msgid=4 tag=107 err=32
ber_flush: 26 bytes to sd 14
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 80 contents:
ber_get_next
do_add
ber_scanf fmt ({a) ber:
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_add: ndn (UID=TEST1,O=TESTSUFFIX)
ber_scanf fmt ({a{V}}) ber:
ber_scanf fmt ({a{V}}) ber:
ber_scanf fmt (}) ber:
dn2entry_r: dn: "UID=TEST1,O=TESTSUFFIX"
=> dn2id( "UID=TEST1,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_r( 1 )
entry_rdwr_rtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_r( 1 ) 0x818ce70 (cache)
ldbm_referrals: op=104 target="uid=test1,o=testsuffix" matched="o=testsuffix"
entry_rdwr_runlock: ID: 1
====> cache_return_entry_r( 1 ): returned (0)
==> ldbm_back_add: uid=test1,o=testsuffix
=> dn2id( "UID=TEST1,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
oc_check_required entry (uid=test1,o=testsuffix), objectClass "top"
oc_check_required entry (uid=test1,o=testsuffix), objectClass "uidObject"
oc_check_allowed type "objectClass"
oc_check_allowed type "uid"
oc_check_allowed type "creatorsName"
oc_check_allowed type "createTimestamp"
oc_check_allowed type "modifiersName"
oc_check_allowed type "modifyTimestamp"
dn2entry_w: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_w( 1 )
entry_rdwr_wtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_w( 1 ) 0x818ce70 (cache)
=> ldbm_cache_open( "nextid.dbb", 73, 600 )
<= ldbm_cache_open (cache 1)
entry_rdwr_wlock: ID: 2
=> index_entry_add( 2, "uid=test1,o=testsuffix" )
=> ldbm_cache_open( "objectClass.dbb", 73, 600 )
<= ldbm_cache_open (cache 2)
=> key_change(ADD,2)
<= key_change 0
=> key_change(ADD,2)
<= key_change 0
<= index_entry_add( 2, "uid=test1,o=testsuffix" ) success
=> dn2id_add( "UID=TEST1,O=TESTSUFFIX", 2 )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id_add 0
=> id2entry_add( 2, "uid=test1,o=testsuffix" )
=> ldbm_cache_open( "id2entry.dbb", 73, 600 )
<= ldbm_cache_open (cache 3)
<= id2entry_add 0
send_ldap_result: conn=0 op=4 p=3
send_ldap_result: err=0 matched="" text=""
send_ldap_response: msgid=5 tag=105 err=0
ber_flush: 14 bytes to sd 14
entry_rdwr_wunlock: ID: 1
====> cache_return_entry_w( 1 ): returned (0)
entry_rdwr_wunlock: ID: 2
====> cache_return_entry_w( 2 ): created (0)
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 80 contents:
ber_get_next
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_add
ber_scanf fmt ({a) ber:
do_add: ndn (UID=TEST2,O=TESTSUFFIX)
ber_scanf fmt ({a{V}}) ber:
ber_scanf fmt ({a{V}}) ber:
ber_scanf fmt (}) ber:
dn2entry_r: dn: "UID=TEST2,O=TESTSUFFIX"
=> dn2id( "UID=TEST2,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_r( 1 )
entry_rdwr_rtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_r( 1 ) 0x818ce70 (cache)
ldbm_referrals: op=104 target="uid=test2,o=testsuffix" matched="o=testsuffix"
entry_rdwr_runlock: ID: 1
====> cache_return_entry_r( 1 ): returned (0)
==> ldbm_back_add: uid=test2,o=testsuffix
=> dn2id( "UID=TEST2,O=TESTSUFFIX" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
oc_check_required entry (uid=test2,o=testsuffix), objectClass "top"
oc_check_required entry (uid=test2,o=testsuffix), objectClass "uidObject"
oc_check_allowed type "objectClass"
oc_check_allowed type "uid"
oc_check_allowed type "creatorsName"
oc_check_allowed type "createTimestamp"
oc_check_allowed type "modifiersName"
oc_check_allowed type "modifyTimestamp"
dn2entry_w: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_w( 1 )
entry_rdwr_wtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_w( 1 ) 0x818ce70 (cache)
=> ldbm_cache_open( "nextid.dbb", 73, 600 )
<= ldbm_cache_open (cache 1)
entry_rdwr_wlock: ID: 3
=> index_entry_add( 3, "uid=test2,o=testsuffix" )
=> ldbm_cache_open( "objectClass.dbb", 73, 600 )
<= ldbm_cache_open (cache 2)
=> key_change(ADD,3)
<= key_change 0
=> key_change(ADD,3)
<= key_change 0
<= index_entry_add( 3, "uid=test2,o=testsuffix" ) success
=> dn2id_add( "UID=TEST2,O=TESTSUFFIX", 3 )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id_add 0
=> id2entry_add( 3, "uid=test2,o=testsuffix" )
=> ldbm_cache_open( "id2entry.dbb", 73, 600 )
<= ldbm_cache_open (cache 3)
<= id2entry_add 0
send_ldap_result: conn=0 op=5 p=3
send_ldap_result: err=0 matched="" text=""
send_ldap_response: msgid=6 tag=105 err=0
ber_flush: 14 bytes to sd 14
entry_rdwr_wunlock: ID: 1
====> cache_return_entry_w( 1 ): returned (0)
entry_rdwr_wunlock: ID: 3
====> cache_return_entry_w( 3 ): created (0)
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 43 contents:
ber_get_next
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_modrdn
ber_scanf fmt ({aab) ber:
do_modrdn: dn (uid=test1,o=testsuffix) newrdn (uid=test2) newsuperior ()
ber_scanf fmt (}) ber:
dn2entry_r: dn: "UID=TEST1,O=TESTSUFFIX"
=> dn2id( "UID=TEST1,O=TESTSUFFIX" )
====> cache_find_entry_dn2id("UID=TEST1,O=TESTSUFFIX"): 2 (1 tries)
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
entry_rdwr_rtrylock: ID: 2
====> cache_find_entry_id( 2 ) "uid=test1,o=testsuffix" (found) (1 tries)
<= id2entry_r( 2 ) 0x818d070 (cache)
entry_rdwr_runlock: ID: 2
====> cache_return_entry_r( 2 ): returned (0)
==>ldbm_back_modrdn(newSuperior=NULL)
dn2entry_w: dn: "UID=TEST1,O=TESTSUFFIX"
=> dn2id( "UID=TEST1,O=TESTSUFFIX" )
====> cache_find_entry_dn2id("UID=TEST1,O=TESTSUFFIX"): 2 (1 tries)
<= dn2id 2 (in cache)
=> id2entry_w( 2 )
entry_rdwr_wtrylock: ID: 2
====> cache_find_entry_id( 2 ) "uid=test1,o=testsuffix" (found) (1 tries)
<= id2entry_w( 2 ) 0x818d070 (cache)
=> has_children( 2 )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= has_children( 2 ): no
dn2entry_w: dn: "O=TESTSUFFIX"
=> dn2id( "O=TESTSUFFIX" )
====> cache_find_entry_dn2id("O=TESTSUFFIX"): 1 (1 tries)
<= dn2id 1 (in cache)
=> id2entry_w( 1 )
entry_rdwr_wtrylock: ID: 1
====> cache_find_entry_id( 1 ) "o=testsuffix" (found) (1 tries)
<= id2entry_w( 1 ) 0x818ce70 (cache)
ldbm_back_modrdn: wr to children of entry O=TESTSUFFIX OK
ldbm_back_modrdn: parent dn=o=testsuffix
ldbm_back_modrdn: new ndn=UID=TEST2,O=TESTSUFFIX
=> dn2id( "UID=TEST2,O=TESTSUFFIX" )
====> cache_find_entry_dn2id("UID=TEST2,O=TESTSUFFIX"): 3 (1 tries)
<= dn2id 3 (in cache)
send_ldap_result: conn=0 op=6 p=3
send_ldap_result: err=68 matched="" text=""
send_ldap_response: msgid=7 tag=109 err=68
ber_flush: 14 bytes to sd 14
entry_rdwr_wunlock: ID: 1
====> cache_return_entry_w( 1 ): returned (0)
entry_rdwr_wunlock: ID: 2
====> cache_return_entry_w( 2 ): returned (0)
connection_get(14)
connection_get(14): got connid=0
connection_read(14): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 5 contents:
ber_get_next
ber_get_next on fd 14 failed errno=0 (Success)
connection_read(14): input error=-2 id=0, closing.
connection_closing: readying conn=0 sd=14 for close
connection_close: deferring conn=0 sd=14
do_unbind
connection_resched: attempting closing conn=0 sd=14
connection_close: conn=0 sd=14
slap_sig_shutdown: signal 2
slap_sig_shutdown: signal 2
daemon: shutdown requested and initiated.
slap_sig_shutdown: signal 2
slapd shutdown: waiting for 0 threads to terminate
slapd shutdown: initiated
ldbm backend syncing
ldbm flushing db (dn2id.dbb)
ldbm closing db (dn2id.dbb)
ldbm flushing db (nextid.dbb)
ldbm closing db (nextid.dbb)
ldbm flushing db (objectClass.dbb)
ldbm closing db (objectClass.dbb)
ldbm flushing db (id2entry.dbb)
ldbm closing db (id2entry.dbb)
ldbm backend done syncing
====> cache_release_all
slapd shutdown: freeing system resources.
slapd stopped.

--ReaqsoxgOBHFXBhH--