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
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk