Thank you, Ville, for the test data. I could reproduce the db_verify
problem.
I have good news and bad news. :) Good news, first... Your db is not
corrupted. The error report from verify-db.pl is bogus.
Bad news, next. Please take a look at this bug. We are going to
provide a fixed utility some time soon.
Summary: verify-db.pl (db_verify) does not work on a little endian machine
Sorry about this inconvenience, and thank you for reporting the problem!
--noriko
Ville Silventoinen wrote:
Hi Noriko,
sorry it took so long to reply, I've been busy with other work.
On Fri, 30 Mar 2007, Noriko Hosoi wrote:
> Ville Silventoinen wrote:
>> 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.
> That would be great. Thanks! I'm interested in what type of
> characters your data contain. E.g., character set is UTF-8? Some of
> your DNs could contain any special characters such as '\'? etc...
The character set should be plain ASCII. I created an imaginary
mail.aliases file. You can download it from here:
http://www.ebi.ac.uk/systems-srv/mp/file-exchange/
Type in "fedorads" to the Pass Phrase input box and click Go. You
should see three files: mail.aliases, mail.aliases.ldif and 99user.ldif.
I can reproduce my problem with the above files, for example, I've
tested like this:
1. Delete existing ebiRoot database (you could use userRoot).
2. Delete db/ebiRoot directory.
3. Create ebiRoot database.
4. Shutdown slapd.
5. Run db2index and verify-db.pl. No errors.
6. Start slapd.
7. Import mail aliases. I've tried with the Console and my own CLI,
which can import LDIF and add entries one-by-one. The method doesn't
seem to matter.
8. Shutdown slapd.
9. Run db2index and verify-db.pl, verify gives errors:
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 10: out-of-order key at entry 249
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.
Verify db/ebiRoot/id2entry.db4 ... Good
Verify db/ebiRoot/entrydn.db4 ... Good
Verify db/ebiRoot/rfc822mailmember.db4 ...
DB ERROR: db_verify: Page 2: unsorted duplicate set in sorted-dup
database
DB ERROR: db_verify: Page 3: unsorted duplicate set in sorted-dup
database
DB ERROR: db_verify: DB->verify: db/ebiRoot/rfc822mailmember.db4:
DB_VERIFY_BAD: Database verification failed
Secondary index file rfc822mailmember.db4 in db/ebiRoot is corrupted.
Please run db2index(.pl) for reindexing.
> So, in your ldif data, the mail attribute also has this type of
> value: "|/homes/majordom/wrapper stripmime.pl|/homes/majordom/wrapper
> resend -l foobar-dev foobar-dev-outgoing"?
No, the People entries have a simpler mail value, like "foo(a)ebi.ac.uk".
> And your mail index has the default indexing type: presence,
> equality, and substring?
Yes.
> What type of indexing does the rfc822MailMember attribute have?
I've tried without any indexing, with presence and equality and with
presence, equality and substring. The above errors are from
verify-db.pl when I have presence and equality indeces. If I have
presence, equality and substring, I get these errors for
rfc822MailMember:
Verify db/ebiRoot/rfc822mailmember.db4 ...
DB ERROR: db_verify: Page 13: 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 12: 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 7: 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 15: 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 14: 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 9: unsorted duplicate set in sorted-dup
database
DB ERROR: db_verify: Page 11: unsorted duplicate set in sorted-dup
database
DB ERROR: db_verify: DB->verify: db/ebiRoot/rfc822mailmember.db4:
DB_VERIFY_BAD: Database verification failed
Secondary index file rfc822mailmember.db4 in db/ebiRoot is corrupted.
Please run db2index(.pl) for reindexing.
> Have we already heard what platform you are running the FDS on?
CentOS release 4.4, Linux 2.6.9-42.ELsmp. Pentium III 2x1266MHz CPUs,
2GB memory, SCSI disks. I'm using FDS 1.0.4.
I'm away this week Wed-Fri, so I'll get back to you next week.
Thanks for the help!
Ville
--
Fedora-directory-users mailing list
Fedora-directory-users(a)redhat.com
https://www.redhat.com/mailman/listinfo/fedora-directory-users