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