Subject: Re: [sup-talk] trying sup again, couple of crashes, etc

From: William Morgan <[email-masked]>
Date: Sun, 17 Jan 2010 11:06:33 -0500

Hi Arvid,

Sorry to hear about your negative experience. Sounds like it's several
unrelated issues all adding up.

Reformatted excerpts from Arvid Picciani's message of 2010-01-14:
> The interface only responds to shift-q.  Typing only "q" will prompt and 
> that prompt can not be answered with y Y ^y  sane for the ^C prompt.

Sounds like you're using Ruby 1.9. You can either use Ruby 1.8, sup next
(bleeding-edge code, as you see below), or wait for Sup 0.10.

> So i went to the git next tree: It takes 30 seconds to start on a
> core2, and uses 100% cpu polling for new messages apparantly.  Screen
> is flooded with ruby warnings, so it is unusable.

Can you run sup-sync before running Sup the first time? Adding new
messages does take a lot of CPU, but it's typically only an issue if you
have to add lots of documents.

> /home/aep/kram/mainline/lib/sup/xapian_index.rb:52:in `save_index': 
> undefined method `flush' for nil:NilClass (NoMethodError)

Fixed in next already. Sorry about that.

> --- NoMethodError from thread: poll after loading inbox
> undefined method `[]' for nil:NilClass
> /home/aep/kram/mainline/lib/sup/xapian_index.rb:570:in `mkterm'
> /home/aep/kram/mainline/lib/sup/xapian_index.rb:345:in `find_docid'

I believe this is also fixed in next.

Please try again.
-- 
William <[email-masked]>
_______________________________________________
sup-talk mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-talk

---

From: Tero Tilus <[email-masked]>
Date: Fri, 15 Jan 2010 02:03:01 +0200

Arvid Picciani, 2010-01-14 08:11:
> So heres is how my sup experience has been so far: awesome idea, but
> unusable.

I see sup's offered you a rough ride... :(

Is this with ruby 1.9?  If so, have you tried with 1.8.x?

> sup-add nukes itself:
> 
> Error: the index is locked by another process! User '' on
> host '' is running  with pid .
> The process was alive as of at least 14 seconds ago.
> 
> Should I ask that process to kill itself (y/n)? y
> Ok, trying to kill process...
> Terminated
> aep@barf: ~/kram/mainline

Looks like it somehow failed to write or read the contents of
lockfile.  When pid is nil, lock resolver ends up calling
Process.kill('TERM', 0) killing the process itself.  Can you
reproduce?

> sup then takes around 20 seconds per message (100% cpu usage)

Thats insane.  Could you try that again with ruby-prof and post the
profile so we can figure out what gives?

  $ sudo gem install ruby-prof
  $ ruby-prof -p graph_html -f sup-profile.html sup

-- 
Tero Tilus ## 050 3635 235 ## http://tero.tilus.net/
_______________________________________________
sup-talk mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-talk

---

From: Arvid Picciani <[email-masked]>
Date: Thu, 14 Jan 2010 07:11:53 +0100

So heres is how my sup experience has been so far: awesome idea, but 
unusable.
0.9.1 starts 3 processes where 2 are dead and ignore sigkill.
The interface only responds to shift-q.  Typing only "q" will prompt and 
that prompt can not be answered with y Y ^y  sane for the ^C prompt.
It crashes the second time i start it (after killing it with -9 since it 
doesnt respond to anything else)

So i went to the git next tree:
It takes 30 seconds to start on a core2, and uses 100% cpu polling for 
new messages apparantly.  Screen is flooded with ruby warnings, so it is 
unusable. additionaly more crashes:

sup-add nukes itself:

until i remove ~/.sup. then it crashes like:

Adding imaps://samir.ibcsolutions.de/INBOX...
[2010-01-14 07:08:54 +0100] Flushing Xapian updates to disk. This may 
take a while...
/home/aep/kram/mainline/lib/sup/xapian_index.rb:52: warning: instance 
variable @xapian not initialized
/home/aep/kram/mainline/lib/sup/xapian_index.rb:52:in `save_index': 
undefined method `flush' for nil:NilClass (NoMethodError)
	from /home/aep/kram/mainline/lib/sup/index.rb:78:in `save'
	from bin/sup-add:129:in `<main>'

but adds the source

sup then takes around 20 seconds per message  (100% cpu usage), then sup 
finally crashes:

sup:
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:82: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:83: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:84: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:85: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:86: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:87: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:88: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:89: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/lockfile-1.4.3/lib/lockfile.rb:139: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/1.9.1/pathname.rb:270: warning: `*' interpreted as 
argument prefix
/home/aep/kram/mainline/lib/sup/util.rb:9: warning: method redefined; 
discarding old gen_lock_id
/home/aep/kram/mainline/lib/sup/util.rb:20: warning: method redefined; 
discarding old dump_lock_id
/home/aep/kram/mainline/lib/sup/util.rb:561: warning: method redefined; 
discarding old included
/home/aep/kram/mainline/lib/sup/message-chunks.rb:36: warning: method 
redefined; discarding old make_tmpname
/usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/header.rb:474: 
warning: shadowing outer local variable - name
/usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/header.rb:474: 
warning: shadowing outer local variable - value
/usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/header.rb:507: 
warning: shadowing outer local variable - name
/usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/header.rb:507: 
warning: shadowing outer local variable - value
/usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/header.rb:892: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/message.rb:133: 
warning: optional boolean argument is obsoleted
/usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/message.rb:140: 
warning: optional boolean argument is obsoleted
/home/aep/kram/mainline/lib/sup/imap.rb:119: warning: ambiguous first 
argument; put parentheses or even spaces
/home/aep/kram/mainline/lib/sup/account.rb:77: warning: shadowing outer 
local variable - a
/home/aep/kram/mainline/lib/sup/colormap.rb:165: warning: shadowing 
outer local variable - color
/home/aep/kram/mainline/lib/sup/poll.rb:122: warning: mismatched 
indentations at 'end' with 'if' at 112
/home/aep/kram/mainline/lib/sup/modes/edit-message-mode.rb:376: warning: 
shadowing outer local variable - v
/home/aep/kram/mainline/lib/sup/modes/thread-index-mode.rb:567: warning: 
shadowing outer local variable - old_labels
/home/aep/kram/mainline/lib/sup/modes/thread-index-mode.rb:823: warning: 
shadowing outer local variable - p
/usr/lib/ruby/1.9.1/dl/func.rb:49: warning: instance variable @unsigned 
not initialized
/home/aep/kram/mainline/lib/sup/xapian_index.rb:135: warning: shadowing 
outer local variable - doc
/home/aep/kram/mainline/lib/sup/xapian_index.rb:370: warning: `&' 
interpreted as argument prefix
bin/sup:138: warning: method redefined; discarding old pair_content
[2010-01-14 06:57:10 +0100] ERROR: oh crap, an exception
----------------------------------------------------------------
I'm very sorry. It seems that an error occurred in Sup. Please
accept my sincere apologies. Please submit the contents of
/home/aep/.sup/exception-log.txt and a brief report of the
circumstances to http://masanjin.net/sup-bugs/ so that I might
address this problem. Thank you!

Sincerely,
William
----------------------------------------------------------------
--- NoMethodError from thread: poll after loading inbox
undefined method `[]' for nil:NilClass
/home/aep/kram/mainline/lib/sup/xapian_index.rb:570:in `mkterm'
/home/aep/kram/mainline/lib/sup/xapian_index.rb:345:in `find_docid'
/home/aep/kram/mainline/lib/sup/xapian_index.rb:351:in `find_doc'
/home/aep/kram/mainline/lib/sup/xapian_index.rb:361:in `get_entry'
/home/aep/kram/mainline/lib/sup/xapian_index.rb:75:in `block in 
build_message'
/usr/lib/ruby/1.9.1/monitor.rb:190:in `mon_synchronize'
/home/aep/kram/mainline/lib/sup/xapian_index.rb:370:in `synchronize'
/home/aep/kram/mainline/lib/sup/xapian_index.rb:75:in `build_message'
/home/aep/kram/mainline/lib/sup/index.rb:236:in `method_missing'
/home/aep/kram/mainline/lib/sup/poll.rb:110:in `block (3 levels) in do_poll'
/home/aep/kram/mainline/lib/sup/poll.rb:169:in `block in each_message_from'
/home/aep/kram/mainline/lib/sup/imap.rb:197:in `block in each'
/home/aep/kram/mainline/lib/sup/imap.rb:185:in `upto'
/home/aep/kram/mainline/lib/sup/imap.rb:185:in `each'
/home/aep/kram/mainline/lib/sup/util.rb:593:in `__pass'
/home/aep/kram/mainline/lib/sup/util.rb:580:in `method_missing'
/home/aep/kram/mainline/lib/sup/poll.rb:157:in `each_message_from'
/home/aep/kram/mainline/lib/sup/poll.rb:109:in `block (2 levels) in do_poll'
/home/aep/kram/mainline/lib/sup/poll.rb:97:in `each'
/home/aep/kram/mainline/lib/sup/poll.rb:97:in `block in do_poll'
<internal:prelude>:8:in `synchronize'
/home/aep/kram/mainline/lib/sup/poll.rb:96:in `do_poll'
/home/aep/kram/mainline/lib/sup/util.rb:553:in `method_missing'
/home/aep/kram/mainline/lib/sup/modes/poll-mode.rb:15:in `poll'
/home/aep/kram/mainline/lib/sup/poll.rb:47:in `poll_with_sources'
/home/aep/kram/mainline/lib/sup/poll.rb:62:in `poll'
/home/aep/kram/mainline/lib/sup/util.rb:553:in `method_missing'
bin/sup:245:in `block (2 levels) in <module:Redwood>'
/home/aep/kram/mainline/lib/sup.rb:77:in `block in reporting_thread'

at that point i gave up.

-- 
Arvid
Asgaard Technologies