From mboxrd@z Thu Jan 1 00:00:00 1970 From: nicolas.pouillard@gmail.com (Nicolas Pouillard) Date: Sat, 24 Nov 2007 20:00:52 +0100 Subject: [sup-talk] More sup errors... In-Reply-To: <1195923981-sup-4149@south> References: <1195480287-sup-1830@ausone.inria.fr> <1195923981-sup-4149@south> Message-ID: <1195930793-sup-417@ausone.local> 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 :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 :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