Subject: [sup-talk] as asked -- little bug report

From: Yaroslav Halchenko <[email-masked]>
Date: Mon, 19 Oct 2009 13:01:19 -0400

Sup,

thanks for sup!

I have been with (mutt+mairix)-in-screen guy for a while, now I am
considering sup -- it seems quite nice, although it took days to import
my inbox (26k messages) without yet touching any lists in the
other folders (where I am going to assign some tags on import whenever I
get more familiar with sup).

One of the side-effects was: since I was not "processing" fetched emails
while they were fetched by sup, inbox listing was growing and growing
until UI became barely responsive and I guess good chunk of CPU time was
taken to handle just UI.  So, it might be desirable to have
automatic way to 'hide' older messages in the listing whenever more and
more new ones come in?

FWIW some of the issues I hit:

1. At first I was running released version shipped with Debian sid
(0.8.1-1), and while I was watching a thread and decided to
archive and jump to next I pressed sequence ",a" and then sup crashed
entirely with:

--- NoMethodError from thread: main
undefined method `mark_dirty' for nil:NilClass
/usr/lib/ruby/1.8/sup/modes/line-cursor-mode.rb:55:in `set_cursor_pos'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:148:in `launch_another_thread'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:131:in `launch_next_thread_after'
/usr/lib/ruby/1.8/sup/modes/thread-view-mode.rb:473:in `dispatch'
/usr/lib/ruby/1.8/sup/modes/thread-view-mode.rb:431:in `archive_and_then'
/usr/lib/ruby/1.8/sup/modes/thread-view-mode.rb:418:in `archive_and_next'
/usr/lib/ruby/1.8/sup/mode.rb:50:in `send'
/usr/lib/ruby/1.8/sup/mode.rb:50:in `handle_input'
/usr/lib/ruby/1.8/sup/buffer.rb:249:in `handle_input'
/usr/bin/sup-mail:236

2. further I was hit with another one (see below) for which I think I found a fix
1dbe8fe8b2a57803d697739b4a585e72b1f91885
which seems relevant
http://gitorious.org/sup/ehabkost-hacks/commit/1dbe8fe8b2a57803d697739b4a585e72b1f91885
but it never was absorbed in mainline

Here is actual traceback

--- NoMethodError from thread: poll after loading inbox
undefined method `content_width' for nil:NilClass
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:866:in `from_width'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:792:in `text_for_thread_at'
/usr/lib/ruby/1.8/sup/hook.rb:134:in `each_with_index'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:791:in `each'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:791:in `each_with_index'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:791:in `text_for_thread_at'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:752:in `regen_text'
/usr/lib/ruby/1.8/sup/util.rb:354:in `map_with_index'
/usr/lib/ruby/1.8/sup/hook.rb:134:in `each_with_index'
/usr/lib/ruby/1.8/sup/util.rb:354:in `each'
/usr/lib/ruby/1.8/sup/util.rb:354:in `each_with_index'
/usr/lib/ruby/1.8/sup/util.rb:354:in `map_with_index'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:752:in `regen_text'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:228:in `update'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:696:in `add_or_unhide'
/usr/lib/ruby/1.8/sup/modes/thread-index-mode.rb:186:in `handle_added_update'
/usr/lib/ruby/1.8/sup/update.rb:27:in `send'
/usr/lib/ruby/1.8/sup/update.rb:27:in `relay'
/usr/lib/ruby/1.8/sup/update.rb:27:in `each'
/usr/lib/ruby/1.8/sup/update.rb:27:in `relay'
/usr/lib/ruby/1.8/sup/util.rb:513:in `send'
/usr/lib/ruby/1.8/sup/util.rb:513:in `method_missing'
/usr/lib/ruby/1.8/sup/poll.rb:162:in `add_messages_from'
/usr/lib/ruby/1.8/sup/maildir.rb:130:in `each'
/usr/lib/ruby/1.8/sup/maildir.rb:127:in `upto'
/usr/lib/ruby/1.8/sup/maildir.rb:127:in `each'
/usr/lib/ruby/1.8/sup/util.rb:552:in `send'
/usr/lib/ruby/1.8/sup/util.rb:552:in `__pass'
/usr/lib/ruby/1.8/sup/util.rb:539:in `method_missing'
/usr/lib/ruby/1.8/sup/poll.rb:141:in `add_messages_from'
/usr/lib/ruby/1.8/sup/poll.rb:98:in `do_poll'
/usr/lib/ruby/1.8/sup/poll.rb:86:in `each'
/usr/lib/ruby/1.8/sup/poll.rb:86:in `do_poll'
/usr/lib/ruby/1.8/sup/poll.rb:85:in `synchronize'
/usr/lib/ruby/1.8/sup/poll.rb:85:in `do_poll'
/usr/lib/ruby/1.8/sup/util.rb:513:in `send'
/usr/lib/ruby/1.8/sup/util.rb:513:in `method_missing'
/usr/lib/ruby/1.8/sup/modes/poll-mode.rb:17:in `poll'
/usr/lib/ruby/1.8/sup/poll.rb:53:in `poll'
/usr/lib/ruby/1.8/sup/util.rb:513:in `send'
/usr/lib/ruby/1.8/sup/util.rb:513:in `method_missing'
/usr/bin/sup-mail:204

3. btw -- I wonder why git repository has no actual tags but just "like
converted from svn" off-branches for each release?  is that a feature or
a bug (like forgotten --tags upon push ;))

4. in general -- should I follow the crash message and complain here or just
report bugs within Debian using reportbug?

5. Since for me released sup had too many corner stones to run reliably
I've decided to run from git.  Looking at the git history, it looked like
I should stick to the 'next' branch. Is that correct?

6. In code from next branch (09e6a71e232d2d3352fe45b13789c3441e3ac937) which I
run with "ruby -I lib -w bin/sup" (sorry if there is a better way I didn't
find, this is my first ever experience with Ruby-based project), I hit
some new issues:

 * periodically some warnings are dumped to stderr which obscures current UI

  rendering... ie warnings like
   /usr/lib/ruby/1.8/time.rb:180: warning: 2 digits year is used

  imho they should go to the same log, shouldn't they?
 
 * some "elderly" crash where I don't remember the context which caused
   it

 unknown drawable object: nil in
 #<Redwood::LabelListMode:0x7f9272cadfa8> for line 3
 ./lib/sup/modes/scroll-mode.rb:200:in `draw_line'
 ./lib/sup/modes/line-cursor-mode.rb:52:in `draw_line'
 ./lib/sup/modes/line-cursor-mode.rb:120:in `cursor_up'
 ./lib/sup/mode.rb:51:in `send'
 ./lib/sup/mode.rb:51:in `handle_input'
 ./lib/sup/buffer.rb:267:in `handle_input'
 bin/sup:245

 * Now that I've fetched big bulk of emails into inbox... I wonder if
   there is a logical way to archive all threads BUT not starred ones?

thanks in advance for any reply ;)
-- 
Yaroslav O. Halchenko
Postdoctoral Fellow,   Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        
_______________________________________________
sup-talk mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-talk