From mboxrd@z Thu Jan 1 00:00:00 1970 From: bgamari.foss@gmail.com (Ben Gamari) Date: Wed, 16 Sep 2009 13:23:40 -0400 Subject: [sup-talk] Crash while scrolling In-Reply-To: <1252773189-sup-246@masanjin.net> References: <20090911165830.GA11260@ben-laptop> <1252773189-sup-246@masanjin.net> Message-ID: <20090916172340.GA20566@ben-laptop> On Sat, Sep 12, 2009 at 09:35:21AM -0700, William Morgan wrote: > Reformatted excerpts from Ben Gamari's message of 2009-09-11: > > Recently I've been seeing this crash[1] pretty consistently on the next > > branch with the Xapian backend. > > Is your Xapian index somewhat old? There have been index format changes > that have caused this type of thing recently. You might try rebuilding > it. Well, after several attempts at rebuilding my index, I finally got lucky and sup-sync ran to completion. Unfortunately, sup now fails to even start, failing out with the following exception while loading threads for inbox-mode, $ sup --- SystemExit from thread: main Thread#join: deadlock 0x7f592eec4d78 - mutual join(0x7f592f01d6e8) /opt/exp/sup/lib/sup/message.rb:240:in `select' /opt/exp/sup/lib/sup/buffer.rb:35:in `nonblocking_getch' /usr/bin/sup:213 However, at this point during debugging I happened to pipe stderr to a file and accidentally found that most of the backtrace was actually being hidden by curses. Examining the full output on stderr reveals, /usr/bin/sup:213(eval):3:in `synchronize': Thread#join: deadlock 0x7f4d5da565c0 - mutual join(0x7f4d5daf8be0) (ThreadError) from (eval):3:in `raw_header' from /opt/exp/sup/lib/sup/imap.rb:98:in `load_header' from /opt/exp/sup/lib/sup/util.rb:560:in `send' from /opt/exp/sup/lib/sup/util.rb:560:in `__pass' from /opt/exp/sup/lib/sup/util.rb:547:in `method_missing' from /opt/exp/sup/lib/sup/message.rb:238:in `load_from_source!' from /opt/exp/sup/lib/sup/message.rb:219:in `chunks' from /opt/exp/sup/lib/sup/message.rb:164:in `snippet' from /opt/exp/sup/lib/sup/thread.rb:91:in `snippet' from /opt/exp/sup/lib/sup/imap.rb:259:in `select' from /opt/exp/sup/lib/sup/thread.rb:68:in `each' from /opt/exp/sup/lib/sup/thread.rb:168:in `each_with_stuff' from /opt/exp/sup/lib/sup/thread.rb:67:in `each' from /opt/exp/sup/lib/sup/thread.rb:91:in `select' from /opt/exp/sup/lib/sup/thread.rb:91:in `snippet' from /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:840:in `text_for_thread_at' from /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:758:in `regen_text' from /opt/exp/sup/lib/sup/util.rb:364:in `map_with_index' from /opt/exp/sup/lib/sup/imap.rb:259:in `each_with_index' from /opt/exp/sup/lib/sup/util.rb:364:in `each' from /opt/exp/sup/lib/sup/util.rb:364:in `each_with_index' from /opt/exp/sup/lib/sup/util.rb:364:in `map_with_index' from /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:758:in `regen_text' from /opt/exp/sup/lib/sup/modes/thread-index-mode.rb:687:in `resize' from /opt/exp/sup/lib/sup/buffer.rb:88:in `resize' from /opt/exp/sup/lib/sup/buffer.rb:329:in `draw_screen' from /opt/exp/sup/lib/sup/buffer.rb:745:in `clear' from /opt/exp/sup/lib/sup/util.rb:520:in `send' from /opt/exp/sup/lib/sup/util.rb:520:in `method_missing' from /opt/exp/sup/lib/sup/imap.rb:283:in `shutup' from /opt/exp/sup/lib/sup/imap.rb:270:in `unsafe_connect' from /opt/exp/sup/lib/sup/imap.rb:244:in `initialize' from /opt/exp/sup/lib/sup/imap.rb:244:in `new' from /opt/exp/sup/lib/sup/imap.rb:244:in `unsafe_connect' from /opt/exp/sup/lib/sup/imap.rb:331:in `safely' from /opt/exp/sup/lib/sup/imap.rb:148:in `unsynchronized_connect' from (eval):3:in `connect' from (eval):3:in `synchronize' from (eval):3:in `connect' from /opt/exp/sup/lib/sup/util.rb:560:in `send' from /opt/exp/sup/lib/sup/util.rb:560:in `__pass' from /opt/exp/sup/lib/sup/util.rb:547:in `method_missing' from /usr/bin/sup:189 from /opt/exp/sup/lib/sup.rb:77:in `reporting_thread' from /opt/exp/sup/lib/sup.rb:75:in `initialize' from /opt/exp/sup/lib/sup.rb:75:in `new' from /opt/exp/sup/lib/sup.rb:75:in `reporting_thread' from /usr/bin/sup:187 from /usr/bin/sup:185:in `each' from /usr/bin/sup:185 [Wed Sep 16 13:01:11 -0400 2009] ERROR: oh crap, an exception ---------------------------------------------------------------- I'm very sorry. It seems that an error occurred in Sup. Please accept my sincere apologies. If you don't mind, please send the contents of ~/.sup/exception-log.txt and a brief report of the circumstances to sup-talk at rubyforge dot orgs so that I might address this problem. Thank you! Sincerely, William ---------------------------------------------------------------- with the first stacktrace following this on stdout. With this information it looks like this bug should become much more debuggable. Being in the imap module, it seems likely that it is my gmail source that is causing the failure. Unfortunately I have no way to verify that the problem is limited to the gmail source as sup raises as exception when it encounters an unknown source, precluding the option of simply commenting out the source in sources.yaml. Anyways, this is the current status of things on my machine. William, do you have any ideas what might cause such a backtrace. At this point classes have started and I really have no more time to devote to getting sup working. If there isn't a fairly simple solution here I guess I'll just need to stick with mutt (ugh). Anyways, thanks for your work. Cheers, - Ben