On 2/26/07, Jeffrey Gelens <[EMAIL PROTECTED]> wrote:
> Hello,
>
> Ferret created a 4.5GB> index file.
> $ 4534029210 2007-02-26 12:46 _el.cfs
>
> The creation of the index went smoothly. Searching through this index
> also works fine. However whenever I try to get the contents of an
> indexed document I get an error when the document number is above
> 621108:
>
> irb(main):080:0> searcher[621108].load
> IOError: IO Error occured at <except.c>:79 in xraise
> Error occured in fs_store.c:289 - fsi_seek_i
> seeking pos -1206037603: <Invalid argument>
>
> As you can see it is seeking on a negative position. I did a strace on
> this with the following results:
>
> _llseek(3, 18446744072766697140, 0xbfc555e0, SEEK_SET) = -1 EINVAL
> (Invalid argument)
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> write(2, "./service.cgi:40:in `[]\'", 24./service.cgi:40:in `[]') = 24
> write(2, ": ", 2: ) = 2
> write(2, "IO Error occured at <except.c>:7"..., 43IO Error occured at
> <except.c>:79 in xraise) = 43
> write(2, " (", 2 () = 2
> write(2, "IOError", 7IOError) = 7
> write(2, ")\n", 2)
> ) = 2
> write(2, "Error occured in fs_store.c:289 "..., 90Error occured in
> fs_store.c:289 - fsi_seek_i
> seeking pos -942854476: <Invalid argument>
>
> The lseek() on 18446744072766697140 is over the maximum of long. That's
> why lseek is probably giving this error.
>
> How can I fix this?
Actually 18446744072766697140 is too big for even a 64bit long (or a
long long on 32bit systems) so I'd love to know where that number is
coming from. It is obviously a bug somewhere else. Unfortunately it
would be impractical for you to send me the index. If it is possible
to give me access to your server I should be able to sort this out
though. Otherwise, I'll look into it, but I can't promise anything.
Dave
--
Dave Balmain
http://www.davebalmain.com/
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk