[sup-talk] More sup errors...

Nicolas Pouillard nicolas.pouillard at gmail.com
Sat Nov 24 14:00:52 EST 2007


Excerpts from William Morgan's message of Sat Nov 24 18:18:06 +0100 2007:
> Excerpts from nicolas.pouillard's message of Mon Nov 19 05:53:33 -0800 2007:
> > The problem was: ':20492 is out of range [0..20456] for IndexReader#[]' (error
> > type ArgumentError)
> > A backtrace follows:
> > /opt/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:411:in
> > `[]': :20492 is out of range [0..20456] for IndexReader#[] (ArgumentError)
> [snip]
> > The problem was: 'State Error occured at <except.c>:93 in xraise
> > Error occured in index.c:4142 - sr_get_lazy_doc
> >     Document 9761 has already been deleted
> > 
> > ' (error type Ferret::StateError)
> > A backtrace follows:
> > /opt/local/lib/ruby/gems/1.8/gems/ferret-0.11.4/lib/ferret/index.rb:411:in
> > `[]': State Error occured at <except.c>:93 in xraise (Ferret::StateError)
> > Error occured in index.c:4142 - sr_get_lazy_doc
> >     Document 9761 has already been deleted
> 
> These errors (and the previous errors you reported about the
> non-matching message ids) suggest that Ferret is very confused---it's
> returning document ids (each message is stored as a Ferret "document")
> from a search that don't correspond to the right messages, or that
> correspond to documents that have already been deleted, or that are
> simply bigger than the max document id in the index.
> 
> I suspect a bug in Ferret has somehow broken your index. Here's what I
> suggest.

Thanks a lot.

I no longer have these errors, so I keep the recipe when errors will come.

> 0. Make a backup of ~/.sup in case something terrible happens.
> 1. Upgrade your Ferret gem to 11.5 (the latest).
> 2. sup-sync --all --optimize. (Might take a while.)
> 
> If step #2 fails with the same Ferret errors, try:
> 
> 3. sup-dump | bzip2 > /tmp/state.bz2
> 4. rm -rf ~/.sup/ferret # you did make a backup, right?
> 5. sup-sync --all --restore <(bzcat /tmp/state.bz2) # assumes bash
> 
> But hopefully step #2 will work. And if we're lucky step #1 will fix
> whatever Ferret bug caused this.
> 

-- 
Nicolas Pouillard aka Ertai



More information about the sup-talk mailing list