From mboxrd@z Thu Jan 1 00:00:00 1970 From: jof@thejof.com (Jonathan Lassoff) Date: Tue, 07 Jul 2009 01:20:51 -0700 Subject: [sup-talk] sup 0.8.1 crash Message-ID: <1246954373-sup-4550@sfo.thejof.com> 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