Subject: [sup-talk] One more exception

From: [email-masked] (Ismo Puustinen)
Date: Tue, 4 Dec 2007 19:45:33 +0200

Hi again,

When running sup-sync on another imap folder I got a new exception:

(The beginning of the program output has been snipped away...)

Scanning imaps://localhost/INBOX.postilistat.vim-mac-list...
[Tue Dec 04 19:18:45 +0200 2007] Connecting to IMAP server localhost:993...
[Tue Dec 04 19:18:45 +0200 2007] Logging in...
[Tue Dec 04 19:18:45 +0200 2007] CRAM-MD5 authentication failed: Net::IMAP::NoResponseError. Trying LOGIN auth...
[Tue Dec 04 19:18:45 +0200 2007] LOGIN authentication failed: Net::IMAP::NoResponseError. Trying plain-text LOGIN...
[Tue Dec 04 19:18:46 +0200 2007] Successfully connected to imaps://localhost/INBOX.postilistat.vim-mac-list.
[Tue Dec 04 19:18:46 +0200 2007] fetching IMAP headers 1..1771
[Tue Dec 04 19:18:50 +0200 2007] saving index and sources...
[Tue Dec 04 19:18:50 +0200 2007] unlocking /home/ipuustin/.sup/lock...
/usr/lib/ruby/gems/1.8/gems/rmail-0.17/lib/rmail/utils.rb:54:in `quoted_printable_decode': undefined method `unpack' for nil:NilClass (NoMethodError)
       from /usr/lib/ruby/gems/1.8/gems/rmail-0.17/lib/rmail/message.rb:115:in `decode'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/lib/sup/message.rb:372:in `message_to_chunks'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/lib/sup/message.rb:343:in `message_to_chunks'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/lib/sup/message.rb:343:in `map'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/lib/sup/message.rb:343:in `message_to_chunks'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/lib/sup/message.rb:343:in `message_to_chunks'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/lib/sup/message.rb:343:in `map'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/lib/sup/message.rb:343:in `message_to_chunks'
        ... 16 levels...
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/bin/sup-sync:128:in `each'
       from /usr/lib/ruby/gems/1.8/gems/sup-0.3/bin/sup-sync:128
       from /usr/bin/sup-sync:16:in `load'
       from /usr/bin/sup-sync:16

I did some research and added a "puts m.inspect" line in
sup/message.rb just before the call in line 372. The result was:

#<RMail::Message:0x30794c28 @body=nil,
@header=#<RMail::Header:0x30794bc8
@fields=[#<RMail::Header::Field:0x30793fb0
@value="text/plain;\n\tcharset=\"iso-8859-1\"",
@name="Content-Type", @raw="Content-Type:
text/plain;\n\tcharset=\"iso-8859-1\"">,
#<RMail::Header::Field:0x30793b18 @value="quoted-printable",
@name="Content-Transfer-Encoding", @raw="Content-Transfer-Encoding:
quoted-printable">], @mbox_from=nil>, @preamble=nil, @epilogue=nil>

So, it appears that the message @body was nil for some reason, 
but I guess that sup needs to fail more gracefully... If needed, 
I can try to dig up the actual email that caused the error. When 
starting up sup, apparently the same error is reproduced. 

-- 
Ismo Puustinen <ismo at iki.fi>