Seg Fault - crashed our server

We were using ferret (with acts_as_ferret) on our production boxes.
Everything was going OK for a few days then we got a seg fault from it
that brought down the box.

The specs:

  • Rails 1.1.6
  • Ruby 1.8.4
  • Ferret 0.10.6
  • RedHat ES 3
  • Apache
  • Pound
  • 5 instances of Mongrel

Can ferret handle multiple processes accessing it’s files at the same
time?

Not that we were doing this (but we’d like to in the future) any ideas
on how to run this off a networked drive (like in a server farm
implementation)?

We were also getting a bunch of these errors:
A EOFError occurred in agents#confirm:
End-of-File Error occured at <except.c>:79 in xraise
Error occured in compound_io.c:123 - cmpdi_read_i
Tried to read past end of file. File length is <3> and tried to read
to <975>
/usr/local/lib/ruby/gems/1.8/gems/ferret-0.10.6/lib/ferret/index.rb:506:in
`close’

We were just doing basic stuff like:
acts_as_ferret :fields => {
:title => {:boost => 2},
:description => {:boost => 1.5}

Model.find_by_contents(“find stuff”)

On tables that had maybe 10,000+ rows

Anyone have any ideas?

-ben

Excerpts from ben’s mail of 27 Sep 2006 (PDT):

We were using ferret (with acts_as_ferret) on our production boxes.
Everything was going OK for a few days then we got a seg fault from it
that brought down the box.

I know 0.10.8 definitely fixes one segfault, though it may not be yours.

On 9/28/06, William M. [email protected] wrote:

Excerpts from ben’s mail of 27 Sep 2006 (PDT):

We were using ferret (with acts_as_ferret) on our production boxes.
Everything was going OK for a few days then we got a seg fault from it
that brought down the box.

I know 0.10.8 definitely fixes one segfault, though it may not be yours.

0.10.9 fixes another one too. When upgrading to 0.10.9 you will need
to rebuild your indexes.