[Date Prev][Date Next]
lock table out of available locks when adding entry
After looking a little more, I'm not sure why the lock table is running
out of available locks (or is it memory?). My BDB backend is configured
with the normal 1000 max locks and here is the output from db_stat -c
(which looks like nowhere near the maximum number of locks has ever been
104312 Last allocated locker ID.
2147M Current maximum unused locker ID.
9 Number of lock modes.
1000 Maximum number of locks possible.
1000 Maximum number of lockers possible.
1000 Maximum number of lock objects possible.
2 Number of current locks.
43 Maximum number of locks at any one time.
8 Number of current lockers.
32 Maximum number of lockers at any one time.
2 Number of current lock objects.
43 Maximum number of lock objects at any one time.
1088942 Total number of locks requested.
1046585 Total number of locks released.
7140 Total number of lock requests failing because DB_LOCK_NOWAIT was
3 Total number of locks not immediately available due to conflicts.
0 Number of deadlocks.
0 Lock timeout value.
0 Number of locks that have timed out.
0 Transaction timeout value.
0 Number of transactions that have timed out.
448KB The size of the lock region..
190 The number of region locks granted after waiting.
2175630 The number of region locks granted without waiting.
> Ok, thanks for the hint. It says lock table is out of locks. Here is the
> debug error output, although I don't know how to fix this:
> oc_check_required entry (cn=asdf,ou=Roles,dc=my,dc=com), objectClass
> oc_check_allowed type "cn"
> oc_check_allowed type "objectClass"
> oc_check_allowed type "structuralObjectClass"
> oc_check_allowed type "entryUUID"
> oc_check_allowed type "creatorsName"
> oc_check_allowed type "createTimestamp"
> oc_check_allowed type "entryCSN"
> oc_check_allowed type "modifiersName"
> oc_check_allowed type "modifyTimestamp"
> => bdb_dn2id_matched( "ou=roles,dc=my,dc=com" )
> ====> bdb_cache_find_entry_dn2id("ou=roles,dc=my,dc=com"): 38 (1 tries)
> ====> bdb_cache_find_entry_id( 38 ) "ou=Roles,dc=my,dc=com" (found) (1
> ====> bdb_unlocked_cache_return_entry_r( 38 ): returned (0)
> => bdb_dn2id_add( "cn=asdf,ou=roles,dc=my,dc=com", 0x00000083 )
> bdb(dc=my,dc=com): Lock table is out of available locks
> => bdb_idl_insert_key: c_put id failed: Cannot allocate memory (12)
> => bdb_dn2id_add: subtree (ou=roles,dc=my,dc=com) insert failed: 12
> <= bdb_dn2id_add: 12
> bdb_add: dn2id_add failed: Cannot allocate memory (12)
> send_ldap_result: conn=0 op=20 p=3
> send_ldap_response: msgid=21 tag=105 err=80
> ber_flush: 14 bytes to sd 10
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > Your Name wrote:
> > | On one of my LDAP servers, I can no longer add entries for some
> > | I can modify attributes of existing attributes, but when I try to
> > | entry I get the following error:
> > |
> > | request 1 done
> > | adding new entry "uid=24754480,ou=People,dc=my,dc=com"
> > | request 2 done
> > | ldapadd: update failed: uid=24754480,ou=People,dc=my,dc=com
> > | ldap_add: Internal (implementation specific) error (80)
> > | additional info: internal error
> > |
> > | The same exact command and code works on one of my mirrored LDAP
> > |
> > | I'm running OpenLDAP from Fedora Core 1
> > |
> > | Any help is appreciated!
> > |
> > Turn up logging (or run 'slapd -d1 -g ldap -u ldap) to see what OpenLDAP
> > says about it.
> > I think the most likely error is that you've run some tools as
> > non-ldap-user, and the database files are not owned by the ldap user ...
> > but the output should tell you.
> > Regards,
> > Buchan
> > - --
> > Buchan Milne Senior Support Technician
> > Obsidian Systems http://www.obsidian.co.za
> > B.Eng RHCE (803004789010797)
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.2.4 (GNU/Linux)
> > Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
> > iD8DBQFB2Qw5rJK6UGDSBKcRAhgtAJ0Xg3uI40HbTZ0sZXKFrky95gExygCfdmAX
> > uVeDpAOcey5d8f7TK1zF2AA=
> > =tKdC
> > -----END PGP SIGNATURE-----