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

Re: c_get lo failure



Howard Chu wrote:
Quanah Gibson-Mount wrote:
Anyone have any idea what would cause this error?

You have a corrupted index. No idea how that happened. Delete the index files and run slapindex...

=> key_change(ADD,5bf)
bdb_idl_insert_key: 5bf [0096defd]
=> bdb_idl_insert_key: c_get lo failed: DB_NOTFOUND: No matching key/data pair found (-30990)
<= key_change -30990
<= index_entry_add( 1471, "uid=btest,ou=people,dc=viz,dc=com" ) failure
bdb_add: index_entry_add failed
send_ldap_result: conn=6 op=3 p=3
send_ldap_result: err=80 matched="" text="index generation failed"
send_ldap_response: msgid=4 tag=105 err=80


At first, because of the "index generation failed" error, I thought it was related to file permissions, but the slapd user is completely able to read and write to files in the openldap DB directory.

Looking at this again, there's another possibility, and probably you should file an ITS for this. If you have a database with a zero-length suffix, the NULL context entry gets an entry ID of zero, which is usually an invalid ID number and always omitted from indexing. But it looks like with "slapadd -q" it's possible for this entry to get included in various indices, which will totally confuse them.
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/