On Thu, 15 Mar 2007, Han Boetes wrote: > Hi, > > Thanks for your suggestions. Here is what I found. Please let me > know if you need more information. > > This error happens only with the /mnt/mp3 filesystem. Just to make > sure it was not a filesystem inconsistency I fsck'ed it. It turned > out to be fine. > > This is what mount returns: > /dev/wd1a on /mnt/mp3 type ffs (NFS exported, local, noatime, nodev, nosuid, > softdep) > > And the df output: > ~% df -h /mnt/mp3 > Filesystem Size Used Avail Capacity Mounted on > /dev/wd1a 230G 217G 2.0G 99% /mnt/mp3 > > To make debugging that a bit easier I did the following: > > sudo /usr/libexec/locate.updatedb > --searchpath=/mnt/mp3/Klassiek/Schoenberg/PelleasundMelisande
That should be searchpaths with an s. > > which also reproduces the bug. > > The dirtree looks like this: > > ~% \ls -l /mnt/mp3/Klassiek/Schoenberg/PelleasundMelisande > total 108256 > -r--r--r-- 1 han nfs 14321130 Oct 7 2003 Schoenberg - Pelleas und > Melisande - 01 - Ein wenig bewegt - zogernd.ogg > -r--r--r-- 1 han nfs 11406273 Oct 7 2003 Schoenberg - Pelleas und > Melisande - 02 - Sehr rasch.ogg > -r--r--r-- 1 han nfs 9792736 Oct 7 2003 Schoenberg - Pelleas und > Melisande - 03 - Langsam.ogg > -r--r--r-- 1 han nfs 19796656 Oct 7 2003 Schoenberg - Pelleas und > Melisande - 04 - Sehr langsam.ogg > > And /var/db/locate.database base64 encoded looks like this: > > LXVuc2FvZ2hyZ2dlbmVsY2hhc2FuU2UvbS5vem90c3Nzcm5yZ3Azb2VudG5nbmRuYm0ubGxs > aWxlbGFrL2lzaW5pZ2llaG9nc2dlZ2V3ZXJlZ2VhZWRlZE1kLmRiZWFtU2NQZU1lTGE0MzIw > MS9TL1AvS3dybGJFLQ4vbW50L21wMy9LbGGPaWVrL7Bob5SuhC9QnGxlYXN1bmRNnGlzYW5k > ZR4+AAAAL1NjaG9lbmKnZyAtILGaqXMgdW5kILJsaYluZGUgLSAwMSAtIEVpbiB3lGlnIGKm > qHQgLSB6b4VybmQuo2ceNQAAADIgLSBTZWhyIHJhc2NoLm9nZw4zIC0gs25niYyjZw40IC0g > U2VociBsYW5nc68ub2dn > > I checked the md5 of the file which you get if you save this code > to a file and run it through base64 -e and it's the same. I recreated the dir tree here, and I can reproduce your problem. I have to find out if the trouble is in generating the database or reading it. -Otto > > > And here is the final output of gdb locate/run foo. > > (gdb) > fastfind_mmap (pathpart=0xcfbe3b42 "foo", paddr=0x7c062077 > "E-\016/mnt/mp3/Kla\217iek/0ho\224.\204/P\234leasundM\234isande\036>", le\ > n=167, database=0x62 <Address 0x62 out of bounds>) at fastfind.c:160 > (gdb) > check_bigram_char (ch=69) at util.c:63 > (gdb) > (gdb) > fastfind_mmap (pathpart=0xcfbe3b42 "foo", paddr=0x7c062077 > "E-\016/mnt/mp3/Kla\217iek/0ho\224.\204/P\234leasundM\234isande\036>", le\ > n=167, database=0x45 <Address 0x45 out of bounds>) at fastfind.c:158 > (gdb) > (gdb) > (gdb) > (gdb) > check_bigram_char (ch=45) at util.c:63 > (gdb) > (gdb) > fastfind_mmap (pathpart=0xcfbe3b42 "foo", paddr=0x7c062079 > "\016/mnt/mp3/Kla\217iek/0ho\224.\204/P\234leasundM\234isande\036>", len=\ > 165, database=0x2d <Address 0x2d out of bounds>) at fastfind.c:160 > (gdb) > check_bigram_char (ch=14) at util.c:63 > (gdb) > (gdb) > fwrite (buf=0xffffffee, size=1, count=60, fp=0x3c003700) at > /usr/src/lib/libc/stdio/fwrite.c:49 > > > > # Han