[Fedora-directory-users] db_verify

Ville Silventoinen vsi at ebi.ac.uk
Fri Mar 30 16:09:33 UTC 2007


Hi Noriko, thanks for you reply.

On Thu, 29 Mar 2007, Noriko Hosoi wrote:

> Ville Silventoinen wrote:
>
>> Same error for ancestorid.db4, objectclass.db4, parentid.db4, cn.db4, 
>> givenName.db4 and sn.db4.
>
> How about id2entry.db4?  Is it broken?  (It's a primary db file.)

No, id2entry.db4 is Good.


>> How can I locate those "out-of order keys" the db_verify lists? I tried 
>> with dbscan but I don't think I'm giving the right entry id:
>
> Right.  247 is the Berkeley DB's internal id.

OK, so there's no way to use it to locate which entry is causing the problem?


>> $ ./dbscan -K 247 -f db/ebiRoot/mail.db4
>> Can't set cursor to returned item: DB_NOTFOUND: No matching key/data pair 
>> found
>
> What happens if you just run dbscan for all the keys in mail.db4 (without the 
> -K option)? E.g., ./dbscan -n -r db/ebiRoot/mail.db4
> Do you get any errors?

I assume you meant "dbscan -n -r -f db/ebiRoot/mail.db4". I see lot of 
numbers, no errors as far as I can tell.


>> Is there a way to find out which entries are causing the problem? Can there 
>> be illegal characters in the entries?
>
> Could it be possible to share your data with us?  (sample data would be 
> good.)

I asked my manager but he doesn't think it's a good idea for security 
reasons. The problem is that the data is our NIS mail.aliases and passwd, 
and we don't want to distribute them to the internet. He suggested I'll 
modify the data, so I can send a sample to you. I'll do that next week.

What would you be looking for in the data? Perhaps I could do it here?

Today I have been trying to narrow down which entries in our 
mail.aliases cause the problem. We have about 8400 aliases (includes 
majordomo and mailman aliases) and if I sort them alphabetically and 
import only entries 250-500, I get following errors from verify-db.pl:

Verify log files in db ... Good
Verify db/ebiRoot/ancestorid.db4 ...
DB ERROR: db_verify: Page 2: out-of-order key at entry 254
DB ERROR: db_verify: DB->verify: db/ebiRoot/ancestorid.db4: DB_VERIFY_BAD: 
Database verification failed
Secondary index file ancestorid.db4 in db/ebiRoot is corrupted.
Please run db2index(.pl) for reindexing.
Verify db/ebiRoot/objectclass.db4 ...
DB ERROR: db_verify: Page 2: out-of-order key at entry 255
DB ERROR: db_verify: DB->verify: db/ebiRoot/objectclass.db4: DB_VERIFY_BAD: Database verification failed
Secondary index file objectclass.db4 in db/ebiRoot is corrupted.
Please run db2index(.pl) for reindexing.
Verify db/ebiRoot/nsuniqueid.db4 ... Good
Verify db/ebiRoot/parentid.db4 ...
DB ERROR: db_verify: Page 1: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: DB->verify: db/ebiRoot/parentid.db4: DB_VERIFY_BAD: Database verification failed
Secondary index file parentid.db4 in db/ebiRoot is corrupted.
Please run db2index(.pl) for reindexing.
Verify db/ebiRoot/cn.db4 ...
DB ERROR: db_verify: Page 2: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 6: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 8: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 11: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 3: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 12: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 4: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 10: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 5: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: Page 7: unsorted duplicate set in sorted-dup database
DB ERROR: db_verify: DB->verify: db/ebiRoot/cn.db4: DB_VERIFY_BAD: Database verification failed
Secondary index file cn.db4 in db/ebiRoot is corrupted.
Please run db2index(.pl) for reindexing.


So there's a new error "unsorted duplicate set in sorted-dup database". 
What does it mean?

Curious thing is that I cannot narrow down the problematic entries any 
further. I've tried importing entries 300-450 and 275-475, but there's no 
error. Also tried with two different sets from various ranges, but no 
success yet. It only seems to happen when I import at least 250 entries.

This is how a single entry looks like:

dn: cn=foobar-dev-local,ou=Aliases,dc=ebi,dc=ac,dc=uk
cn: foobar-dev-local
objectClass: top
objectClass: nisMailAlias
rfc822MailMember: "|/homes/majordom/wrapper stripmime.pl|/homes/majordom/wra
  pper resend -l foobar-dev  foobar-dev-outgoing"

I also tried skipping all entries with double quotes, but I still got 
errors. There can be several rfc822MailMember attribute values, as you 
probably know.

Thanks for your time, I really appreciate it.


Ville




More information about the Fedora-directory-users mailing list