Yikes! I found a way to crash my sup!

I'm running sup 0.8.1 (sourced from whatever's current on rubygems.org, not a 
git branch), and can get sup to crash on specific searches.

I took a little time to poke around in the sup source to try and get an idea 
what was going on. I'm led to believe this is because I added a source in the 
past that I later deleted -- but all of the mesages are still in the index. So, 
when certain searches turn up results that are in that deleted source, the sup 
index fails to reference the message source in Redwood::Index. Is there a way 
to delete a source without having to re-index everything?

So, I figured I might find a way to search the index for any documents whose 
source id is the same as the deleted one and remove them from the index, but am 
having a hard time finding a way to iterate over all documents in the index (no 
search query). Is there a simple way to iterate over all messages?

Here's some example crash output:

--- RuntimeError from thread: load threads for thread-index-mode
invalid source 1
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/index.rb:403:in `build_message'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/index.rb:399:in `build_message'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/index.rb:297:in `each_id_by_date'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/thread.rb:330:in `call'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/thread.rb:330:in `load_n_threads'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/index.rb:297:in `each_id_by_date'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/index.rb:296:in `each'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/index.rb:296:in `each_id_by_date'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/thread.rb:326:in `load_n_threads'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/modes/thread-index-mode.rb:620:in 
`__unprotected_load_n_threads'
(eval):12:in `load_n_threads'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/modes/thread-index-mode.rb:604:in 
`load_n_threads_background'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup.rb:71:in `reporting_thread'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup.rb:69:in `initialize'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup.rb:69:in `new'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup.rb:69:in `reporting_thread'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/modes/thread-index-mode.rb:603:in 
`load_n_threads_background'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/modes/thread-index-mode.rb:673:in 
`__unprotected_load_threads'
(eval):12:in `load_threads'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/lib/sup/modes/search-results-mode.rb:34:in
 `spawn_from_query'
/usr/lib/ruby/gems/1.8/gems/sup-0.8.1/bin/sup:270
/usr/bin/sup:19:in `load'
/usr/bin/sup:19

Thanks,
jonathan
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk

Reply via email to