sup

A curses threads-with-tags style email client

sup-website.git

git clone https://supmua.dev/git/sup-website/

community/pipermail-archives/sup-devel/2012-03.txt (51248B) - raw

      1 From michael+sup@stapelberg.de  Thu Mar  1 11:58:24 2012
      2 From: michael+sup@stapelberg.de (Michael Stapelberg)
      3 Date: Thu, 01 Mar 2012 12:58:24 +0100
      4 Subject: [sup-devel] [Heliotrope/Turnsole] GPG signature verification
      5 Message-ID: <1330602132-sup-2087@stapelberg.de>
      6 
      7 Hi,
      8 
      9 Before I can actually switch to Heliotrope/Turnsole, I need to have GPG working
     10 properly. I tried implementing GPG signature verification first, and got it
     11 nearly working, but before I go down the rabbit hole too far, I decided to ask
     12 a few questions here first:
     13 
     14 1) In ChunkParser#chunks_for_message, the message object has multiple parts,
     15    which in turn are just hashes. At least in my tests, the first part usually
     16    has a "content" entry, but the second part doesn?t. Therefore, I need to
     17    request it from heliotrope. Should I introduce a new class for that or am I
     18    missing an existing class which I can use for that? Chunk::Attachment has
     19    very similar functionality with its content method.
     20 
     21 2) For verification, I need the not-decoded MIME part, but heliotrope decodes
     22    MIME parts. Thus, I always get a bad signature. How should we fix this? Not
     23    decode MIME in heliotrope, but in turnsole? Decode MIME in both? Make
     24    turnsole get the raw message, too, for GPG (roundtrip alert!)?
     25 
     26 Best regards,
     27 Michael
     28 
     29 From michael+sup@stapelberg.de  Thu Mar  1 12:02:30 2012
     30 From: michael+sup@stapelberg.de (Michael Stapelberg)
     31 Date: Thu, 01 Mar 2012 13:02:30 +0100
     32 Subject: [sup-devel] [Turnsole] Lack of a test suite
     33 Message-ID: <1330603277-sup-7642@stapelberg.de>
     34 
     35 Hi,
     36 
     37 I find it weird that there is no testsuite for turnsole. Are there any plans
     38 for that? Or are you ok with somebody just starting something and then
     39 iterating from there?
     40 
     41 Best regards,
     42 Michael
     43 
     44 From triumhiz@yandex.ru  Thu Mar  1 15:17:01 2012
     45 From: triumhiz@yandex.ru (Serge Z)
     46 Date: Thu, 01 Mar 2012 19:17:01 +0400
     47 Subject: [sup-devel] [heliotrope] crashes while importing
     48 Message-ID: <20120301151701.23555.84803@localhost>
     49 
     50 
     51 I am newb to ruby. Could it really be a bug in ruby or its heliotrope problem?
     52 It's fresh 'git clone', empty database before importing.
     53 Thanks
     54 
     55 ```
     56 $ ruby -Ilib bin/heliotrope-import -d Mail/ -a ~/Mail
     57 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
     58 Loading mail source...
     59 ; scanning 1 directories...
     60 ; found 8822 messages
     61 ; reading in dates...
     62 ; sorting...
     63 ; sorted 8389 messages with dates
     64 Adding mail...
     65 ; scanned 1, indexed 1, skipped 0 bad and 0 seen messages in 11.5s = 0.1 m/s
     66 /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:701: [BUG] Bus Error
     67 ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
     68 
     69 -- Control frame information -----------------------------------------------
     70 c:0011 p:---- s:0092 b:0092 l:000091 d:000091 CFUNC  :put
     71 c:0010 p:0072 s:0087 b:0086 l:000085 d:000085 METHOD /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:701
     72 c:0009 p:0129 s:0081 b:0081 l:000080 d:000080 METHOD /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:640
     73 c:0008 p:0238 s:0072 b:0072 l:000071 d:000071 METHOD /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:122
     74 c:0007 p:0194 s:0055 b:0055 l:001c58 d:000054 BLOCK  bin/heliotrope-import:117
     75 c:0006 p:0188 s:0042 b:0042 l:000025 d:000041 BLOCK  /home/shoutt/src/heliotrope/lib/heliotrope/message-adder.rb:57
     76 c:0005 p:0064 s:0031 b:0031 l:000030 d:000030 METHOD /home/shoutt/src/heliotrope/lib/heliotrope/maildir-walker.rb:28
     77 c:0004 p:0211 s:0026 b:0026 l:000025 d:000025 METHOD /home/shoutt/src/heliotrope/lib/heliotrope/message-adder.rb:42
     78 c:0003 p:0529 s:0015 b:0015 l:001c58 d:000e60 EVAL   bin/heliotrope-import:99
     79 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
     80 c:0001 p:0000 s:0002 b:0002 l:001c58 d:001c58 TOP   
     81 
     82 -- Ruby level backtrace information ----------------------------------------
     83 bin/heliotrope-import:99:in `<main>'
     84 /home/shoutt/src/heliotrope/lib/heliotrope/message-adder.rb:42:in `each_message'
     85 /home/shoutt/src/heliotrope/lib/heliotrope/maildir-walker.rb:28:in `each_message'
     86 /home/shoutt/src/heliotrope/lib/heliotrope/message-adder.rb:57:in `block in each_message'
     87 bin/heliotrope-import:117:in `block in <main>'
     88 /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:122:in `add_message'
     89 /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:640:in `write_messageinfo!'
     90 /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:701:in `write_hash'
     91 /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:701:in `put'
     92 
     93 -- C level backtrace information -------------------------------------------
     94 /usr/lib64/libruby19.so.1.9(+0x158fa9) [0x7f08a57abfa9]
     95 /usr/lib64/libruby19.so.1.9(+0x5b1de) [0x7f08a56ae1de]
     96 /usr/lib64/libruby19.so.1.9(rb_bug+0xb9) [0x7f08a56aeab9]
     97 /usr/lib64/libruby19.so.1.9(+0xf8eb3) [0x7f08a574beb3]
     98 /lib64/libc.so.6(+0x35a40) [0x7f08a52fea40]
     99 /lib64/libc.so.6(+0x11ec57) [0x7f08a53e7c57]
    100 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so(+0x36aa2) [0x7f08a15ddaa2]
    101 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so(_ZN7leveldb3log6Writer18EmitPhysicalRecordENS0_10RecordTypeEPKcm+0xe0) [0x7f08a15c9a20]
    102 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so(_ZN7leveldb3log6Writer9AddRecordERKNS_5SliceE+0x92) [0x7f08a15c9b82]
    103 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so(_ZN7leveldb6DBImpl5WriteERKNS_12WriteOptionsEPNS_10WriteBatchE+0x15f) [0x7f08a15be47f]
    104 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so(_ZN7leveldb2DB3PutERKNS_12WriteOptionsERKNS_5SliceES6_+0x5a) [0x7f08a15be83a]
    105 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so(_ZN7leveldb6DBImpl3PutERKNS_12WriteOptionsERKNS_5SliceES6_+0x9) [0x7f08a15be889]
    106 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so(+0x14bdc) [0x7f08a15bbbdc]
    107 /usr/lib64/libruby19.so.1.9(+0x152fd1) [0x7f08a57a5fd1]
    108 /usr/lib64/libruby19.so.1.9(+0x148895) [0x7f08a579b895]
    109 /usr/lib64/libruby19.so.1.9(+0x14e6a4) [0x7f08a57a16a4]
    110 /usr/lib64/libruby19.so.1.9(rb_iseq_eval_main+0xb0) [0x7f08a57a8bd0]
    111 /usr/lib64/libruby19.so.1.9(+0x5efe2) [0x7f08a56b1fe2]
    112 /usr/lib64/libruby19.so.1.9(ruby_exec_node+0x1e) [0x7f08a56b24de]
    113 /usr/lib64/libruby19.so.1.9(ruby_run_node+0x1f) [0x7f08a56b3f5f]
    114 ruby() [0x400a1c]
    115 /lib64/libc.so.6(__libc_start_main+0xfe) [0x7f08a52eb09e]
    116 ruby() [0x400909]
    117 
    118 -- Other runtime information -----------------------------------------------
    119 
    120 * Loaded script: bin/heliotrope-import
    121 
    122 * Loaded features:
    123 
    124     0 enumerator.so
    125     1 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/encdb.so
    126     2 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
    127     3 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/defaults.rb
    128     4 /usr/lib64/ruby/1.9.1/x86_64-linux/rbconfig.rb
    129     5 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/deprecate.rb
    130     6 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/exceptions.rb
    131     7 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/defaults/operating_system.rb
    132     8 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/custom_require.rb
    133     9 /usr/lib64/ruby/site_ruby/1.9.1/rubygems.rb
    134    10 /usr/lib64/ruby/site_ruby/1.9.1/auto_gem.rb
    135    11 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/version.rb
    136    12 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/requirement.rb
    137    13 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/platform.rb
    138    14 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/specification.rb
    139    15 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/path_support.rb
    140    16 /usr/lib64/ruby/site_ruby/1.9.1/rubygems/dependency.rb
    141    17 /usr/lib64/ruby/1.9.1/x86_64-linux/date_core.so
    142    18 /usr/lib64/ruby/1.9.1/date/format.rb
    143    19 /usr/lib64/ruby/1.9.1/date.rb
    144    20 /usr/lib64/ruby/gems/1.9.1/gems/trollop-1.16.2/lib/trollop.rb
    145    21 /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/version.rb
    146    22 /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/common.rb
    147    23 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
    148    24 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
    149    25 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
    150    26 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
    151    27 /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/parser.so
    152    28 /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/generator.so
    153    29 /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext.rb
    154    30 /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json.rb
    155    31 /home/shoutt/src/heliotrope/lib/heliotrope/message-adder.rb
    156    32 /usr/lib64/ruby/1.9.1/x86_64-linux/iconv.so
    157    33 /home/shoutt/src/heliotrope/lib/heliotrope/decoder.rb
    158    34 /home/shoutt/src/heliotrope/lib/heliotrope/person.rb
    159    35 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/address.rb
    160    36 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/utils.rb
    161    37 /usr/lib64/ruby/1.9.1/x86_64-linux/digest.so
    162    38 /usr/lib64/ruby/1.9.1/digest.rb
    163    39 /usr/lib64/ruby/1.9.1/x86_64-linux/digest/md5.so
    164    40 /usr/lib64/ruby/1.9.1/time.rb
    165    41 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/header.rb
    166    42 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/mailbox.rb
    167    43 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/message.rb
    168    44 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/parser/pushbackreader.rb
    169    45 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/parser/multipart.rb
    170    46 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/parser.rb
    171    47 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/serialize.rb
    172    48 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail/mailbox/mboxreader.rb
    173    49 /home/shoutt/.gem/ruby/1.9.1/gems/rmail-1.0.0/lib/rmail.rb
    174    50 /usr/lib64/ruby/1.9.1/timeout.rb
    175    51 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/util/memoizable.rb
    176    52 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/tag/simple.rb
    177    53 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/tag/irregular.rb
    178    54 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/tag/common.rb
    179    55 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/tag/rfc.rb
    180    56 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/tag/cldr.rb
    181    57 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/tag/posix.rb
    182    58 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/tag.rb
    183    59 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/taglist.rb
    184    60 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/version.rb
    185    61 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale.rb
    186    62 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/driver/env.rb
    187    63 /usr/lib64/ruby/gems/1.9.1/gems/locale-2.0.5/lib/locale/driver/posix.rb
    188    64 /home/shoutt/src/heliotrope/lib/heliotrope/message.rb
    189    65 /home/shoutt/src/heliotrope/lib/heliotrope/mbox-splitter.rb
    190    66 /usr/lib64/ruby/1.9.1/x86_64-linux/socket.so
    191    67 /usr/lib64/ruby/1.9.1/socket.rb
    192    68 /usr/lib64/ruby/1.9.1/thread.rb
    193    69 /usr/lib64/ruby/1.9.1/monitor.rb
    194    70 /usr/lib64/ruby/1.9.1/x86_64-linux/strscan.so
    195    71 /usr/lib64/ruby/1.9.1/x86_64-linux/openssl.so
    196    72 /usr/lib64/ruby/1.9.1/openssl/bn.rb
    197    73 /usr/lib64/ruby/1.9.1/openssl/cipher.rb
    198    74 /usr/lib64/ruby/1.9.1/x86_64-linux/stringio.so
    199    75 /usr/lib64/ruby/1.9.1/openssl/config.rb
    200    76 /usr/lib64/ruby/1.9.1/openssl/digest.rb
    201    77 /usr/lib64/ruby/1.9.1/openssl/buffering.rb
    202    78 /usr/lib64/ruby/1.9.1/x86_64-linux/fcntl.so
    203    79 /usr/lib64/ruby/1.9.1/openssl/ssl-internal.rb
    204    80 /usr/lib64/ruby/1.9.1/openssl/x509-internal.rb
    205    81 /usr/lib64/ruby/1.9.1/openssl.rb
    206    82 /usr/lib64/ruby/1.9.1/net/imap.rb
    207    83 /home/shoutt/src/heliotrope/lib/heliotrope/imap-dumper.rb
    208    84 /home/shoutt/src/heliotrope/lib/heliotrope/gmail-dumper.rb
    209    85 /home/shoutt/src/heliotrope/lib/heliotrope/maildir-walker.rb
    210    86 /home/shoutt/.gem/ruby/1.9.1/gems/whistlepig-0.7/lib/whistlepigc.so
    211    87 /home/shoutt/.gem/ruby/1.9.1/gems/whistlepig-0.7/lib/whistlepig.rb
    212    88 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so
    213    89 /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb.rb
    214    90 /usr/lib64/ruby/1.9.1/set.rb
    215    91 /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb
    216    92 /usr/lib64/ruby/1.9.1/x86_64-linux/zlib.so
    217    93 /home/shoutt/src/heliotrope/lib/heliotrope/zmbox.rb
    218    94 /home/shoutt/src/heliotrope/lib/heliotrope/query.rb
    219    95 /usr/lib64/ruby/1.9.1/x86_64-linux/etc.so
    220    96 /usr/lib64/ruby/1.9.1/fileutils.rb
    221    97 /home/shoutt/src/heliotrope/lib/heliotrope/hooks.rb
    222    98 /home/shoutt/src/heliotrope/lib/heliotrope.rb
    223    99 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/koi8_r.so
    224   100 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/single_byte.so
    225   101 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/iso2022.so
    226   102 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/japanese_euc.so
    227   103 /usr/lib64/ruby/1.9.1/x86_64-linux/enc/euc_jp.so
    228 
    229 * Process memory map:
    230 
    231 00400000-00401000 r-xp 00000000 08:02 10116671                           /usr/bin/ruby19
    232 00600000-00601000 r--p 00000000 08:02 10116671                           /usr/bin/ruby19
    233 00601000-00602000 rw-p 00001000 08:02 10116671                           /usr/bin/ruby19
    234 023f0000-037bd000 rw-p 00000000 00:00 0                                  [heap]
    235 7f08a0114000-7f08a0216000 rw-p 00000000 00:00 0 
    236 7f08a0216000-7f08a0218000 r-xp 00000000 08:02 10116722                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/euc_jp.so
    237 7f08a0218000-7f08a0417000 ---p 00002000 08:02 10116722                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/euc_jp.so
    238 7f08a0417000-7f08a0418000 r--p 00001000 08:02 10116722                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/euc_jp.so
    239 7f08a0418000-7f08a0419000 rw-p 00002000 08:02 10116722                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/euc_jp.so
    240 7f08a0419000-7f08a0453000 r-xp 00000000 08:02 10116709                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/japanese_euc.so
    241 7f08a0453000-7f08a0652000 ---p 0003a000 08:02 10116709                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/japanese_euc.so
    242 7f08a0652000-7f08a0653000 r--p 00039000 08:02 10116709                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/japanese_euc.so
    243 7f08a0653000-7f08a0654000 rw-p 0003a000 08:02 10116709                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/japanese_euc.so
    244 7f08a0654000-7f08a0656000 r-xp 00000000 08:02 10116695                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/iso2022.so
    245 7f08a0656000-7f08a0856000 ---p 00002000 08:02 10116695                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/iso2022.so
    246 7f08a0856000-7f08a0857000 r--p 00002000 08:02 10116695                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/iso2022.so
    247 7f08a0857000-7f08a0858000 rw-p 00003000 08:02 10116695                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/iso2022.so
    248 7f08a0858000-7f08a086e000 r-xp 00000000 08:02 10116701                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/single_byte.so
    249 7f08a086e000-7f08a0a6d000 ---p 00016000 08:02 10116701                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/single_byte.so
    250 7f08a0a6d000-7f08a0a72000 r--p 00015000 08:02 10116701                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/single_byte.so
    251 7f08a0a72000-7f08a0a73000 rw-p 0001a000 08:02 10116701                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/single_byte.so
    252 7f08a0a73000-7f08a0a75000 r-xp 00000000 08:02 10116856                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/koi8_r.so
    253 7f08a0a75000-7f08a0c74000 ---p 00002000 08:02 10116856                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/koi8_r.so
    254 7f08a0c74000-7f08a0c75000 r--p 00001000 08:02 10116856                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/koi8_r.so
    255 7f08a0c75000-7f08a0c76000 rw-p 00002000 08:02 10116856                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/koi8_r.so
    256 7f08a0c76000-7f08a0c79000 r-xp 00000000 08:02 10116942                   /usr/lib64/ruby/1.9.1/x86_64-linux/etc.so
    257 7f08a0c79000-7f08a0e78000 ---p 00003000 08:02 10116942                   /usr/lib64/ruby/1.9.1/x86_64-linux/etc.so
    258 7f08a0e78000-7f08a0e79000 r--p 00002000 08:02 10116942                   /usr/lib64/ruby/1.9.1/x86_64-linux/etc.so
    259 7f08a0e79000-7f08a0e7a000 rw-p 00003000 08:02 10116942                   /usr/lib64/ruby/1.9.1/x86_64-linux/etc.so
    260 7f08a0e7a000-7f08a0e87000 r-xp 00000000 08:02 10116948                   /usr/lib64/ruby/1.9.1/x86_64-linux/zlib.so
    261 7f08a0e87000-7f08a1086000 ---p 0000d000 08:02 10116948                   /usr/lib64/ruby/1.9.1/x86_64-linux/zlib.so
    262 7f08a1086000-7f08a1087000 r--p 0000c000 08:02 10116948                   /usr/lib64/ruby/1.9.1/x86_64-linux/zlib.so
    263 7f08a1087000-7f08a1088000 rw-p 0000d000 08:02 10116948                   /usr/lib64/ruby/1.9.1/x86_64-linux/zlib.so
    264 7f08a1088000-7f08a109d000 r-xp 00000000 08:02 5384332                    /lib64/libgcc_s.so.1
    265 7f08a109d000-7f08a129c000 ---p 00015000 08:02 5384332                    /lib64/libgcc_s.so.1
    266 7f08a129c000-7f08a129d000 r--p 00014000 08:02 5384332                    /lib64/libgcc_s.so.1
    267 7f08a129d000-7f08a129e000 rw-p 00015000 08:02 5384332                    /lib64/libgcc_s.so.1
    268 7f08a129e000-7f08a1389000 r-xp 00000000 08:02 9999881                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6.0.14
    269 7f08a1389000-7f08a1588000 ---p 000eb000 08:02 9999881                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6.0.14
    270 7f08a1588000-7f08a1590000 r--p 000ea000 08:02 9999881                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6.0.14
    271 7f08a1590000-7f08a1592000 rw-p 000f2000 08:02 9999881                    /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6.0.14
    272 7f08a1592000-7f08a15a7000 rw-p 00000000 00:00 0 
    273 7f08a15a7000-7f08a15ec000 r-xp 00000000 08:02 5650798                    /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so
    274 7f08a15ec000-7f08a17eb000 ---p 00045000 08:02 5650798                    /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so
    275 7f08a17eb000-7f08a17ed000 r--p 00044000 08:02 5650798                    /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so
    276 7f08a17ed000-7f08a17ee000 rw-p 00046000 08:02 5650798                    /home/shoutt/.gem/ruby/1.9.1/gems/leveldb-ruby-0.10/lib/leveldb/leveldb.so
    277 7f08a17ee000-7f08a180c000 r-xp 00000000 08:02 5650485                    /home/shoutt/.gem/ruby/1.9.1/gems/whistlepig-0.7/lib/whistlepigc.so
    278 7f08a180c000-7f08a1a0b000 ---p 0001e000 08:02 5650485                    /home/shoutt/.gem/ruby/1.9.1/gems/whistlepig-0.7/lib/whistlepigc.so
    279 7f08a1a0b000-7f08a1a0c000 r--p 0001d000 08:02 5650485                    /home/shoutt/.gem/ruby/1.9.1/gems/whistlepig-0.7/lib/whistlepigc.so
    280 7f08a1a0c000-7f08a1a0d000 rw-p 0001e000 08:02 5650485                    /home/shoutt/.gem/ruby/1.9.1/gems/whistlepig-0.7/lib/whistlepigc.so
    281 7f08a1a0d000-7f08a1a0e000 r-xp 00000000 08:02 10116950                   /usr/lib64/ruby/1.9.1/x86_64-linux/fcntl.so
    282 7f08a1a0e000-7f08a1c0d000 ---p 00001000 08:02 10116950                   /usr/lib64/ruby/1.9.1/x86_64-linux/fcntl.so
    283 7f08a1c0d000-7f08a1c0e000 r--p 00000000 08:02 10116950                   /usr/lib64/ruby/1.9.1/x86_64-linux/fcntl.so
    284 7f08a1c0e000-7f08a1c0f000 rw-p 00001000 08:02 10116950                   /usr/lib64/ruby/1.9.1/x86_64-linux/fcntl.so
    285 7f08a1c0f000-7f08a1c15000 r-xp 00000000 08:02 10116953                   /usr/lib64/ruby/1.9.1/x86_64-linux/stringio.so
    286 7f08a1c15000-7f08a1e14000 ---p 00006000 08:02 10116953                   /usr/lib64/ruby/1.9.1/x86_64-linux/stringio.so
    287 7f08a1e14000-7f08a1e15000 r--p 00005000 08:02 10116953                   /usr/lib64/ruby/1.9.1/x86_64-linux/stringio.so
    288 7f08a1e15000-7f08a1e16000 rw-p 00006000 08:02 10116953                   /usr/lib64/ruby/1.9.1/x86_64-linux/stringio.so
    289 7f08a1e16000-7f08a1e6b000 r-xp 00000000 08:02 9868828                    /usr/lib64/libssl.so.1.0.0
    290 7f08a1e6b000-7f08a206b000 ---p 00055000 08:02 9868828                    /usr/lib64/libssl.so.1.0.0
    291 7f08a206b000-7f08a206e000 r--p 00055000 08:02 9868828                    /usr/lib64/libssl.so.1.0.0
    292 7f08a206e000-7f08a2073000 rw-p 00058000 08:02 9868828                    /usr/lib64/libssl.so.1.0.0
    293 7f08a2073000-7f08a20c0000 r-xp 00000000 08:02 10116937                   /usr/lib64/ruby/1.9.1/x86_64-linux/openssl.so
    294 7f08a20c0000-7f08a22c0000 ---p 0004d000 08:02 10116937                   /usr/lib64/ruby/1.9.1/x86_64-linux/openssl.so
    295 7f08a22c0000-7f08a22c1000 r--p 0004d000 08:02 10116937                   /usr/lib64/ruby/1.9.1/x86_64-linux/openssl.so
    296 7f08a22c1000-7f08a22c3000 rw-p 0004e000 08:02 10116937                   /usr/lib64/ruby/1.9.1/x86_64-linux/openssl.so
    297 7f08a22c3000-7f08a22c4000 rw-p 00000000 00:00 0 
    298 7f08a22c4000-7f08a22c9000 r-xp 00000000 08:02 10116677                   /usr/lib64/ruby/1.9.1/x86_64-linux/strscan.so
    299 7f08a22c9000-7f08a24c8000 ---p 00005000 08:02 10116677                   /usr/lib64/ruby/1.9.1/x86_64-linux/strscan.so
    300 7f08a24c8000-7f08a24c9000 r--p 00004000 08:02 10116677                   /usr/lib64/ruby/1.9.1/x86_64-linux/strscan.so
    301 7f08a24c9000-7f08a24ca000 rw-p 00005000 08:02 10116677                   /usr/lib64/ruby/1.9.1/x86_64-linux/strscan.so
    302 7f08a24ca000-7f08a24ec000 r-xp 00000000 08:02 10116939                   /usr/lib64/ruby/1.9.1/x86_64-linux/socket.so
    303 7f08a24ec000-7f08a26ec000 ---p 00022000 08:02 10116939                   /usr/lib64/ruby/1.9.1/x86_64-linux/socket.so
    304 7f08a26ec000-7f08a26ed000 r--p 00022000 08:02 10116939                   /usr/lib64/ruby/1.9.1/x86_64-linux/socket.so
    305 7f08a26ed000-7f08a26ee000 rw-p 00023000 08:02 10116939                   /usr/lib64/ruby/1.9.1/x86_64-linux/socket.so
    306 7f08a26ee000-7f08a26f1000 r-xp 00000000 08:02 10116678                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest.so
    307 7f08a26f1000-7f08a28f0000 ---p 00003000 08:02 10116678                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest.so
    308 7f08a28f0000-7f08a28f1000 r--p 00002000 08:02 10116678                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest.so
    309 7f08a28f1000-7f08a28f2000 rw-p 00003000 08:02 10116678                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest.so
    310 7f08a28f2000-7f08a2908000 r-xp 00000000 08:02 9860452                    /lib64/libz.so.1.2.5
    311 7f08a2908000-7f08a2b08000 ---p 00016000 08:02 9860452                    /lib64/libz.so.1.2.5
    312 7f08a2b08000-7f08a2b09000 r--p 00016000 08:02 9860452                    /lib64/libz.so.1.2.5
    313 7f08a2b09000-7f08a2b0a000 rw-p 00017000 08:02 9860452                    /lib64/libz.so.1.2.5
    314 7f08a2b0a000-7f08a2c92000 r-xp 00000000 08:02 9868825                    /usr/lib64/libcrypto.so.1.0.0
    315 7f08a2c92000-7f08a2e92000 ---p 00188000 08:02 9868825                    /usr/lib64/libcrypto.so.1.0.0
    316 7f08a2e92000-7f08a2eab000 r--p 00188000 08:02 9868825                    /usr/lib64/libcrypto.so.1.0.0
    317 7f08a2eab000-7f08a2eb5000 rw-p 001a1000 08:02 9868825                    /usr/lib64/libcrypto.so.1.0.0
    318 7f08a2eb5000-7f08a2eb9000 rw-p 00000000 00:00 0 
    319 7f08a2eb9000-7f08a2eba000 r-xp 00000000 08:02 10116931                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest/md5.so
    320 7f08a2eba000-7f08a30b9000 ---p 00001000 08:02 10116931                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest/md5.so
    321 7f08a30b9000-7f08a30ba000 r--p 00000000 08:02 10116931                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest/md5.so
    322 7f08a30ba000-7f08a30bb000 rw-p 00001000 08:02 10116931                   /usr/lib64/ruby/1.9.1/x86_64-linux/digest/md5.so
    323 7f08a30bb000-7f08a30c1000 r-xp 00000000 08:02 10116938                   /usr/lib64/ruby/1.9.1/x86_64-linux/iconv.so
    324 7f08a30c1000-7f08a32c0000 ---p 00006000 08:02 10116938                   /usr/lib64/ruby/1.9.1/x86_64-linux/iconv.so
    325 7f08a32c0000-7f08a32c1000 r--p 00005000 08:02 10116938                   /usr/lib64/ruby/1.9.1/x86_64-linux/iconv.so
    326 7f08a32c1000-7f08a32c2000 rw-p 00006000 08:02 10116938                   /usr/lib64/ruby/1.9.1/x86_64-linux/iconv.so
    327 7f08a32c2000-7f08a32ca000 r-xp 00000000 08:02 10111974                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/generator.so
    328 7f08a32ca000-7f08a34c9000 ---p 00008000 08:02 10111974                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/generator.so
    329 7f08a34c9000-7f08a34ca000 r--p 00007000 08:02 10111974                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/generator.so
    330 7f08a34ca000-7f08a34cb000 rw-p 00008000 08:02 10111974                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/generator.so
    331 7f08a34cb000-7f08a34cc000 r-xp 00000000 08:02 10116718                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
    332 7f08a34cc000-7f08a36cb000 ---p 00001000 08:02 10116718                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
    333 7f08a36cb000-7f08a36cc000 r--p 00000000 08:02 10116718                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
    334 7f08a36cc000-7f08a36cd000 rw-p 00001000 08:02 10116718                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32le.so
    335 7f08a36cd000-7f08a36ce000 r-xp 00000000 08:02 10116685                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
    336 7f08a36ce000-7f08a38cd000 ---p 00001000 08:02 10116685                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
    337 7f08a38cd000-7f08a38ce000 r--p 00000000 08:02 10116685                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
    338 7f08a38ce000-7f08a38cf000 rw-p 00001000 08:02 10116685                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_32be.so
    339 7f08a38cf000-7f08a38d0000 r-xp 00000000 08:02 10116717                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
    340 7f08a38d0000-7f08a3ad0000 ---p 00001000 08:02 10116717                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
    341 7f08a3ad0000-7f08a3ad1000 r--p 00001000 08:02 10116717                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
    342 7f08a3ad1000-7f08a3ad2000 rw-p 00002000 08:02 10116717                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16le.so
    343 7f08a3ad2000-7f08a3ad3000 r-xp 00000000 08:02 10116693                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
    344 7f08a3ad3000-7f08a3cd3000 ---p 00001000 08:02 10116693                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
    345 7f08a3cd3000-7f08a3cd4000 r--p 00001000 08:02 10116693                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
    346 7f08a3cd4000-7f08a3cd5000 rw-p 00002000 08:02 10116693                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/utf_16be.so
    347 7f08a3cd5000-7f08a3cdb000 r-xp 00000000 08:02 10111937                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/parser.so
    348 7f08a3cdb000-7f08a3eda000 ---p 00006000 08:02 10111937                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/parser.so
    349 7f08a3eda000-7f08a3edb000 r--p 00005000 08:02 10111937                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/parser.so
    350 7f08a3edb000-7f08a3edc000 rw-p 00006000 08:02 10111937                   /usr/lib64/ruby/gems/1.9.1/gems/json-1.6.4/lib/json/ext/parser.so
    351 7f08a3edc000-7f08a3f0a000 r-xp 00000000 08:02 10116957                   /usr/lib64/ruby/1.9.1/x86_64-linux/date_core.so
    352 7f08a3f0a000-7f08a410a000 ---p 0002e000 08:02 10116957                   /usr/lib64/ruby/1.9.1/x86_64-linux/date_core.so
    353 7f08a410a000-7f08a410b000 r--p 0002e000 08:02 10116957                   /usr/lib64/ruby/1.9.1/x86_64-linux/date_core.so
    354 7f08a410b000-7f08a410c000 rw-p 0002f000 08:02 10116957                   /usr/lib64/ruby/1.9.1/x86_64-linux/date_core.so
    355 7f08a410c000-7f08a410d000 rw-p 00000000 00:00 0 
    356 7f08a410d000-7f08a410f000 r-xp 00000000 08:02 10116707                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
    357 7f08a410f000-7f08a430f000 ---p 00002000 08:02 10116707                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
    358 7f08a430f000-7f08a4310000 r--p 00002000 08:02 10116707                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
    359 7f08a4310000-7f08a4311000 rw-p 00003000 08:02 10116707                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
    360 7f08a4311000-7f08a4313000 r-xp 00000000 08:02 10116719                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/encdb.so
    361 7f08a4313000-7f08a4512000 ---p 00002000 08:02 10116719                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/encdb.so
    362 7f08a4512000-7f08a4513000 r--p 00001000 08:02 10116719                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/encdb.so
    363 7f08a4513000-7f08a4514000 rw-p 00002000 08:02 10116719                   /usr/lib64/ruby/1.9.1/x86_64-linux/enc/encdb.so
    364 7f08a4514000-7f08a47e6000 r--p 00000000 08:02 11535215                   /usr/lib64/locale/locale-archive
    365 7f08a47e6000-7f08a4867000 r-xp 00000000 08:02 10748905                   /lib64/libm-2.13.so
    366 7f08a4867000-7f08a4a66000 ---p 00081000 08:02 10748905                   /lib64/libm-2.13.so
    367 7f08a4a66000-7f08a4a67000 r--p 00080000 08:02 10748905                   /lib64/libm-2.13.so
    368 7f08a4a67000-7f08a4a68000 rw-p 00081000 08:02 10748905                   /lib64/libm-2.13.so
    369 7f08a4a68000-7f08a4a70000 r-xp 00000000 08:02 10748910                   /lib64/libcrypt-2.13.so
    370 7f08a4a70000-7f08a4c6f000 ---p 00008000 08:02 10748910                   /lib64/libcrypt-2.13.so
    371 7f08a4c6f000-7f08a4c70000 r--p 00007000 08:02 10748910                   /lib64/libcrypt-2.13.so
    372 7f08a4c70000-7f08a4c71000 rw-p 00008000 08:02 10748910                   /lib64/libcrypt-2.13.so
    373 7f08a4c71000-7f08a4c9f000 rw-p 00000000 00:00 0 
    374 7f08a4c9f000-7f08a4ca1000 r-xp 00000000 08:02 10748898                   /lib64/libdl-2.13.so
    375 7f08a4ca1000-7f08a4ea1000 ---p 00002000 08:02 10748898                   /lib64/libdl-2.13.so
    376 7f08a4ea1000-7f08a4ea2000 r--p 00002000 08:02 10748898                   /lib64/libdl-2.13.so
    377 7f08a4ea2000-7f08a4ea3000 rw-p 00003000 08:02 10748898                   /lib64/libdl-2.13.so
    378 7f08a4ea3000-7f08a4eab000 r-xp 00000000 08:02 10748511                   /lib64/librt-2.13.so
    379 7f08a4eab000-7f08a50aa000 ---p 00008000 08:02 10748511                   /lib64/librt-2.13.so
    380 7f08a50aa000-7f08a50ab000 r--p 00007000 08:02 10748511                   /lib64/librt-2.13.so
    381 7f08a50ab000-7f08a50ac000 rw-p 00008000 08:02 10748511                   /lib64/librt-2.13.so
    382 7f08a50ac000-7f08a50c4000 r-xp 00000000 08:02 10748896                   /lib64/libpthread-2.13.so
    383 7f08a50c4000-7f08a52c3000 ---p 00018000 08:02 10748896                   /lib64/libpthread-2.13.so
    384 7f08a52c3000-7f08a52c4000 r--p 00017000 08:02 10748896                   /lib64/libpthread-2.13.so
    385 7f08a52c4000-7f08a52c5000 rw-p 00018000 08:02 10748896                   /lib64/libpthread-2.13.so
    386 7f08a52c5000-7f08a52c9000 rw-p 00000000 00:00 0 
    387 7f08a52c9000-7f08a544a000 r-xp 00000000 08:02 10748900                   /lib64/libc-2.13.so
    388 7f08a544a000-7f08a5649000 ---p 00181000 08:02 10748900                   /lib64/libc-2.13.so
    389 7f08a5649000-7f08a564d000 r--p 00180000 08:02 10748900                   /lib64/libc-2.13.so
    390 7f08a564d000-7f08a564e000 rw-p 00184000 08:02 10748900                   /lib64/libc-2.13.so
    391 7f08a564e000-7f08a5653000 rw-p 00000000 00:00 0 
    392 7f08a5653000-7f08a5847000 r-xp 00000000 08:02 10116958                   /usr/lib64/libruby19.so.1.9.1
    393 7f08a5847000-7f08a5a46000 ---p 001f4000 08:02 10116958                   /usr/lib64/libruby19.so.1.9.1
    394 7f08a5a46000-7f08a5a4b000 r--p 001f3000 08:02 10116958                   /usr/lib64/libruby19.so.1.9.1
    395 7f08a5a4b000-7f08a5a4f000 rw-p 001f8000 08:02 10116958                   /usr/lib64/libruby19.so.1.9.1
    396 7f08a5a4f000-7f08a5a6b000 rw-p 00000000 00:00 0 
    397 7f08a5a6b000-7f08a5a8a000 r-xp 00000000 08:02 10748907                   /lib64/ld-2.13.so
    398 7f08a5acb000-7f08a5acc000 ---p 00000000 00:00 0 
    399 7f08a5acc000-7f08a5b4c000 rw-p 00000000 00:00 0 
    400 7f08a5b4c000-7f08a5b4e000 rw-s 00000000 08:02 5898246                    /home/shoutt/src/heliotrope/Mail/index/whistlepig0.sp
    401 7f08a5b4e000-7f08a5b50000 rw-s 00000000 08:02 5898251                    /home/shoutt/src/heliotrope/Mail/index/whistlepig0.th
    402 7f08a5b50000-7f08a5b60000 rw-s 00000000 08:02 5898248                    /home/shoutt/src/heliotrope/Mail/store/000003.log
    403 7f08a5b60000-7f08a5b61000 rw-s 00000000 08:02 5898253                    /home/shoutt/src/heliotrope/Mail/index/whistlepig0.lb
    404 7f08a5b62000-7f08a5b64000 rw-s 00000000 08:02 5898252                    /home/shoutt/src/heliotrope/Mail/index/whistlepig0.pr
    405 7f08a5b65000-7f08a5c6c000 rw-p 00000000 00:00 0 
    406 7f08a5c6d000-7f08a5c6e000 rw-s 00000000 08:02 5898247                    /home/shoutt/src/heliotrope/Mail/index/whistlepig0.sh_
    407 7f08a5c6e000-7f08a5c7e000 rw-s 00000000 08:02 5898249                    /home/shoutt/src/heliotrope/Mail/store/MANIFEST-000002
    408 7f08a5c7e000-7f08a5c85000 r--s 00000000 08:02 11536212                   /usr/lib64/gconv/gconv-modules.cache
    409 7f08a5c85000-7f08a5c86000 ---p 00000000 00:00 0 
    410 7f08a5c86000-7f08a5c8a000 rw-p 00000000 00:00 0 
    411 7f08a5c8a000-7f08a5c8b000 r--p 0001f000 08:02 10748907                   /lib64/ld-2.13.so
    412 7f08a5c8b000-7f08a5c8c000 rw-p 00020000 08:02 10748907                   /lib64/ld-2.13.so
    413 7f08a5c8c000-7f08a5c8d000 rw-p 00000000 00:00 0 
    414 7fff10348000-7fff10369000 rw-p 00000000 00:00 0                          [stack]
    415 7fff10376000-7fff10377000 r-xp 00000000 00:00 0                          [vdso]
    416 ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
    417 
    418 
    419 [NOTE]
    420 You may have encountered a bug in the Ruby interpreter or extension libraries.
    421 Bug reports are welcome.
    422 For details: http://www.ruby-lang.org/bugreport.html
    423 
    424 Aborted
    425 ```
    426 
    427 From wmorgan@masanjin.net  Mon Mar  5 22:08:30 2012
    428 From: wmorgan@masanjin.net (William Morgan)
    429 Date: Mon, 05 Mar 2012 14:08:30 -0800
    430 Subject: [sup-devel]  [heliotrope] crashes while importing
    431 In-Reply-To: <20120301151701.23555.84803@localhost>
    432 References: <20120301151701.23555.84803@localhost>
    433 Message-ID: <1330985181-sup-8598@typhon>
    434 
    435 Hi Serge,
    436 
    437 Excerpts from Serge Z's message of 2012-03-01 07:17:01 -0800:
    438 > /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:701: [BUG] Bus Error
    439 > ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
    440 > 
    441 > -- Control frame information -----------------------------------------------
    442 > c:0011 p:---- s:0092 b:0092 l:000091 d:000091 CFUNC  :put
    443 > c:0010 p:0072 s:0087 b:0086 l:000085 d:000085 METHOD /home/shoutt/src/heliotrope/lib/heliotrope/meta-index.rb:701
    444 
    445 This looks like a problem in the Leveldb bindings. Is this by any chance
    446 on OS X Lion? If not, what platform are you running on?
    447 -- 
    448 William <wmorgan at masanjin.net>
    449 
    450 From wmorgan@masanjin.net  Mon Mar  5 22:16:59 2012
    451 From: wmorgan@masanjin.net (William Morgan)
    452 Date: Mon, 05 Mar 2012 14:16:59 -0800
    453 Subject: [sup-devel]  [Turnsole] Lack of a test suite
    454 In-Reply-To: <1330603277-sup-7642@stapelberg.de>
    455 References: <1330603277-sup-7642@stapelberg.de>
    456 Message-ID: <1330985317-sup-8037@typhon>
    457 
    458 Excerpts from Michael Stapelberg's message of 2012-03-01 04:02:30 -0800:
    459 > I find it weird that there is no testsuite for turnsole. Are there any
    460 > plans for that? Or are you ok with somebody just starting something
    461 > and then iterating from there?
    462 
    463 I'm not planning on adding one (I'd rather spend my limited time adding
    464 features, or hardening heliotrope), but I wouldn't object to you adding
    465 something.
    466 -- 
    467 William <wmorgan at masanjin.net>
    468 
    469 From wmorgan@masanjin.net  Mon Mar  5 22:45:20 2012
    470 From: wmorgan@masanjin.net (William Morgan)
    471 Date: Mon, 05 Mar 2012 14:45:20 -0800
    472 Subject: [sup-devel]  [Heliotrope/Turnsole] GPG signature verification
    473 In-Reply-To: <1330602132-sup-2087@stapelberg.de>
    474 References: <1330602132-sup-2087@stapelberg.de>
    475 Message-ID: <1330986580-sup-6892@typhon>
    476 
    477 Excerpts from Michael Stapelberg's message of 2012-03-01 03:58:24 -0800:
    478 > I tried implementing GPG signature verification first, and got it
    479 > nearly working
    480 
    481 Awesome!
    482 
    483 > 1) In ChunkParser#chunks_for_message, the message object has multiple
    484 > parts, which in turn are just hashes. At least in my tests, the first
    485 > part usually has a "content" entry, but the second part doesn?t.
    486 
    487 As background, these message parts are pre-digested things sent by
    488 Heliotrope as a way of displaying messages without needing to download
    489 all the attachments. They are based on MIME parts but undergo a lossy
    490 transformation. The basic rule right now is that text parts include the
    491 content by default, and non-text parts do not (and so require a separate
    492 download).
    493 
    494 > Therefore, I need to request it from heliotrope. Should I introduce a
    495 > new class for that or am I missing an existing class which I can use
    496 > for that?
    497 
    498 I think introducing a new chunk class is the right approach.
    499 
    500 > 2) For verification, I need the not-decoded MIME part, but heliotrope
    501 > decodes MIME parts. Thus, I always get a bad signature. How should we
    502 > fix this? Not decode MIME in heliotrope, but in turnsole? Decode MIME
    503 > in both? Make turnsole get the raw message, too, for GPG (roundtrip
    504 > alert!)?
    505 
    506 I think you will need to get the entire raw message and MIME decode it
    507 in turnsole.
    508 
    509 BTW, you can look at Sup for a lot of relevant code. There is a
    510 CryptoNotice class in message-chunks.rb, and an inline_gpg_to_chunks
    511 method in message.rb. The structure is pretty similar to what you
    512 see in Turnsole (although not, of course, identical).
    513 
    514 Good luck!
    515 -- 
    516 William <wmorgan at masanjin.net>
    517 
    518 From wmorgan@masanjin.net  Mon Mar  5 22:57:34 2012
    519 From: wmorgan@masanjin.net (William Morgan)
    520 Date: Mon, 05 Mar 2012 14:57:34 -0800
    521 Subject: [sup-devel] [Heliotrope] search for cyrillic terms does not work
    522 In-Reply-To: <20120229104413.1197.73225@localhost>
    523 References: <20120224054318.8144.49786@localhost>
    524 	<1330152007-turnsole-69593@terminus-est>
    525 	<20120229104413.1197.73225@localhost>
    526 Message-ID: <1330988069-sup-4187@typhon>
    527 
    528 Excerpts from Serge Z's message of 2012-02-29 02:44:13 -0800:
    529 > Does whistlepig have any tool for manual managing its indexes?
    530 > Or do I have to code in either ruby or C to do that?
    531 
    532 Yeah, if you check it out separately and build it, you can run
    533 something like:
    534 
    535   whistlepig$ make dump
    536   whistlepig$ ./dump <heliotrope store dir>/index/whistlepig|less
    537 
    538 And then if you search for some Cyrillic text, that should at least
    539 tell you the tokenization in the index.
    540 -- 
    541 William <wmorgan at masanjin.net>
    542 
    543 From michael+sup@stapelberg.de  Mon Mar 12 18:24:06 2012
    544 From: michael+sup@stapelberg.de (Michael Stapelberg)
    545 Date: Mon, 12 Mar 2012 19:24:06 +0100
    546 Subject: [sup-devel] [Heliotrope/Turnsole] RMail's parsing leads to
    547 	SystemStackError
    548 Message-ID: <1331576353-sup-6200@stapelberg.de>
    549 
    550 Hi,
    551 
    552 while working on the GPG signature verification, I noticed that RMail?s MIME
    553 parsing sucks, at least with Ruby 1.9.3:
    554 
    555 When encountering a boundary, such as "--=_libri-22937-1314886853-0001-2--",
    556 RMail turns that into a regular expression which matches any amount of
    557 characters or the whole thing, that looks like this:
    558 
    559 \-(?:\-(?:=(?:_(?:l(?:i(?:b(?:r(?:i(?:\-(?:2(?:2(?:9(?:3(?:7(?:\-(?:1(?:3(?:1(?:4(?:8(?:8(?:6(?:8(?:5(?:3(?:\-(?:0(?:0(?:0(?:1(?:\-(?:2|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)|\z)
    560 
    561 Running this regular expression leads to a SystemStackError. What is an
    562 appropriate way to handle this? As far as I understand, RMail is unmaintained.
    563 And we wanted to switch away from it. Should we monkey-patch?
    564 
    565 Best regards,
    566 Michael
    567 
    568 From michael+sup@stapelberg.de  Mon Mar 12 18:28:44 2012
    569 From: michael+sup@stapelberg.de (Michael Stapelberg)
    570 Date: Mon, 12 Mar 2012 19:28:44 +0100
    571 Subject: [sup-devel] [Turnsole] Experimental GPG signature verification
    572 Message-ID: <1331576656-sup-947@stapelberg.de>
    573 
    574 Hi,
    575 
    576 At https://github.com/mstap/turnsole/commits/gpg-signed, you can find an
    577 experimental branch which implements GPG signature verification. This should
    578 work for PGP/MIME multipart/mixed, multipart/signed and PGP/INLINE. You also
    579 need the changes of https://github.com/wmorgan/heliotrope/pull/42 in your
    580 heliotrope for this to work.
    581 
    582 GPG decryption is not working at all yet. Also, depending on your messages, you
    583 might need to patch RMail (see my previous mail):
    584 
    585 lib/rmail/parser/multipart.rb:211
    586   #s = PushbackReader.maybe_contains_re("--" + boundary)
    587   s = Regexp.quote("--" + boundary)
    588 
    589 If you notice any problems, please report them.
    590 
    591 Best regards,
    592 Michael
    593 
    594 PS: I?m not quite sure how to make Heliotrope pick up the "signed" label for
    595 messages which are already indexed. The code now recognizes more signed
    596 variants. Ideas?
    597 
    598 From nicolas.pouillard@gmail.com  Wed Mar 14 13:13:46 2012
    599 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
    600 Date: Wed, 14 Mar 2012 14:13:46 +0100
    601 Subject: [sup-devel]  [Turnsole] Experimental GPG signature verification
    602 In-Reply-To: <1331576656-sup-947@stapelberg.de>
    603 References: <1331576656-sup-947@stapelberg.de>
    604 Message-ID: <1331730629-turnsole-56443@ss>
    605 
    606 Excerpts from Michael Stapelberg's message of 2012-03-12 19:28:44 +0100:
    607 > Hi,
    608 Hi,
    609 
    610 > At https://github.com/mstap/turnsole/commits/gpg-signed, you can find an
    611 > experimental branch which implements GPG signature verification. This should
    612 > work for PGP/MIME multipart/mixed, multipart/signed and PGP/INLINE. You also
    613 > need the changes of https://github.com/wmorgan/heliotrope/pull/42 in your
    614 > heliotrope for this to work.
    615 > 
    616 > GPG decryption is not working at all yet. Also, depending on your messages, you
    617 > might need to patch RMail (see my previous mail):
    618 > 
    619 > lib/rmail/parser/multipart.rb:211
    620 >   #s = PushbackReader.maybe_contains_re("--" + boundary)
    621 >   s = Regexp.quote("--" + boundary)
    622 > 
    623 > If you notice any problems, please report them.
    624 
    625 Is there some missing file for getting CryptoManager? I get this:
    626 
    627 .../lib/turnsole/modes/edit-message-mode.rb:106:in `initialize':
    628   uninitialized constant Turnsole::EditMessageMode::CryptoManager (NameError)
    629 
    630 From michael+sup@stapelberg.de  Wed Mar 14 13:31:04 2012
    631 From: michael+sup@stapelberg.de (Michael Stapelberg)
    632 Date: Wed, 14 Mar 2012 14:31:04 +0100
    633 Subject: [sup-devel] [Turnsole] Experimental GPG signature verification
    634 In-Reply-To: <1331730629-turnsole-56443@ss>
    635 References: <1331576656-sup-947@stapelberg.de> <1331730629-turnsole-56443@ss>
    636 Message-ID: <1331731839-sup-502@stapelberg.de>
    637 
    638 Hi Nicolas,
    639 
    640 Excerpts from Nicolas Pouillard's message of 2012-03-14 14:13:46 +0100:
    641 > Is there some missing file for getting CryptoManager? I get this:
    642 > 
    643 > .../lib/turnsole/modes/edit-message-mode.rb:106:in `initialize':
    644 >   uninitialized constant Turnsole::EditMessageMode::CryptoManager (NameError)
    645 No, this code is just not yet fixed for turnsole.
    646 
    647 Best regards,
    648 Michael
    649 
    650 From nicolas.pouillard@gmail.com  Wed Mar 14 13:38:43 2012
    651 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
    652 Date: Wed, 14 Mar 2012 14:38:43 +0100
    653 Subject: [sup-devel] [Turnsole] Experimental GPG signature verification
    654 In-Reply-To: <1331731839-sup-502@stapelberg.de>
    655 References: <1331576656-sup-947@stapelberg.de> <1331730629-turnsole-56443@ss>
    656 	<1331731839-sup-502@stapelberg.de>
    657 Message-ID: <1331732250-turnsole-41628@ss>
    658 
    659 Excerpts from Michael Stapelberg's message of 2012-03-14 14:31:04 +0100:
    660 > Hi Nicolas,
    661 > 
    662 > Excerpts from Nicolas Pouillard's message of 2012-03-14 14:13:46 +0100:
    663 > > Is there some missing file for getting CryptoManager? I get this:
    664 > > 
    665 > > .../lib/turnsole/modes/edit-message-mode.rb:106:in `initialize':
    666 > >   uninitialized constant Turnsole::EditMessageMode::CryptoManager (NameError)
    667 > No, this code is just not yet fixed for turnsole.
    668 
    669 So there is no way to compose any message when merging your branch?
    670 
    671 From michael+sup@stapelberg.de  Wed Mar 14 13:55:55 2012
    672 From: michael+sup@stapelberg.de (Michael Stapelberg)
    673 Date: Wed, 14 Mar 2012 14:55:55 +0100
    674 Subject: [sup-devel] [Turnsole] Experimental GPG signature verification
    675 In-Reply-To: <1331732250-turnsole-41628@ss>
    676 References: <1331576656-sup-947@stapelberg.de> <1331730629-turnsole-56443@ss>
    677 	<1331731839-sup-502@stapelberg.de> <1331732250-turnsole-41628@ss>
    678 Message-ID: <1331733289-sup-7680@stapelberg.de>
    679 
    680 Hi Nicolas,
    681 
    682 Excerpts from Nicolas Pouillard's message of 2012-03-14 14:38:43 +0100:
    683 > So there is no way to compose any message when merging your branch?
    684 That might be true. To be honest, I don?t compose messages in heliotrope yet,
    685 otherwise, I won?t have them in sup (my fallback). Yes, the situation sucks big
    686 time.
    687 
    688 Best regards,
    689 Michael
    690 
    691 From wmorgan-sup@masanjin.net  Thu Mar 15 04:55:59 2012
    692 From: wmorgan-sup@masanjin.net (William Morgan)
    693 Date: Wed, 14 Mar 2012 21:55:59 -0700
    694 Subject: [sup-devel] heliotrope: please upgrade whistlepig and leveldb-ruby
    695 Message-ID: <1331786907-turnsole-34128@terminus-est>
    696 
    697 If you are tracking heliotrope master, please upgrade to whistlepig 0.9.1
    698 and leveldb-ruby 0.14. A `gem install leveldb-ruby whistlepig` should
    699 be sufficient.
    700 
    701 If you then run heliotrope-add-contacts, you should get tab-completion
    702 of contacts. (Finally!) I'm still playing around with how this works,
    703 so there are some obvious issues, but it will at least prevent you
    704 from memorizing email addresses.
    705 
    706 New messages automatically go through the contact extraction process and
    707 so you shouldn't have to run that command ever again. At least until the
    708 inevitable complaints make me redo how it works.
    709 
    710 -- 
    711 William <wmorgan at masanjin.net>
    712 
    713 From michael+sup@stapelberg.de  Sun Mar 18 22:45:52 2012
    714 From: michael+sup@stapelberg.de (Michael Stapelberg)
    715 Date: Sun, 18 Mar 2012 23:45:52 +0100
    716 Subject: [sup-devel] [Turnsole] Experimental GPG signature verification
    717 In-Reply-To: <1331733289-sup-7680@stapelberg.de>
    718 References: <1331576656-sup-947@stapelberg.de> <1331730629-turnsole-56443@ss>
    719 	<1331731839-sup-502@stapelberg.de> <1331732250-turnsole-41628@ss>
    720 	<1331733289-sup-7680@stapelberg.de>
    721 Message-ID: <1332110718-sup-6603@stapelberg.de>
    722 
    723 Hi Nicolas,
    724 
    725 Excerpts from Michael Stapelberg's message of 2012-03-14 14:55:55 +0100:
    726 > > So there is no way to compose any message when merging your branch?
    727 > That might be true. To be honest, I don?t compose messages in heliotrope yet,
    728 > otherwise, I won?t have them in sup (my fallback). Yes, the situation sucks big
    729 > time.
    730 This is fixed now with commit https://github.com/mstap/turnsole/commit/2817026
    731 
    732 Best regards,
    733 Michael
    734 
    735 From nicolas.pouillard@gmail.com  Mon Mar 19 07:53:47 2012
    736 From: nicolas.pouillard@gmail.com (Nicolas Pouillard)
    737 Date: Mon, 19 Mar 2012 08:53:47 +0100
    738 Subject: [sup-devel] [Turnsole] Experimental GPG signature verification
    739 In-Reply-To: <1332110718-sup-6603@stapelberg.de>
    740 References: <1331576656-sup-947@stapelberg.de> <1331730629-turnsole-56443@ss>
    741 	<1331731839-sup-502@stapelberg.de> <1331732250-turnsole-41628@ss>
    742 	<1331733289-sup-7680@stapelberg.de>
    743 	<1332110718-sup-6603@stapelberg.de>
    744 Message-ID: <1332143572-turnsole-54114@ss>
    745 
    746 Excerpts from Michael Stapelberg's message of 2012-03-18 23:45:52 +0100:
    747 > Hi Nicolas,
    748 > 
    749 > Excerpts from Michael Stapelberg's message of 2012-03-14 14:55:55 +0100:
    750 > > > So there is no way to compose any message when merging your branch?
    751 > > That might be true. To be honest, I don?t compose messages in heliotrope yet,
    752 > > otherwise, I won?t have them in sup (my fallback). Yes, the situation sucks big
    753 > > time.
    754 > This is fixed now with commit https://github.com/mstap/turnsole/commit/2817026
    755 
    756 Thanks!
    757 
    758 From matthieu.rakotojaona@gmail.com  Fri Mar 23 19:17:59 2012
    759 From: matthieu.rakotojaona@gmail.com (Matthieu Rakotojaona)
    760 Date: Fri, 23 Mar 2012 20:17:59 +0100
    761 Subject: [sup-devel] [Heliotrope/Turnsole] RMail's parsing leads to
    762 	SystemStackError
    763 In-Reply-To: <1331576353-sup-6200@stapelberg.de>
    764 References: <1331576353-sup-6200@stapelberg.de>
    765 Message-ID: <CAMiZLn0c3FG5g+e9t9t1nFCrfo_d0LG-oj0Or1DJsva3jTEQBg@mail.gmail.com>
    766 
    767 On Mon, Mar 12, 2012 at 7:24 PM, Michael Stapelberg
    768 <michael+sup at stapelberg.de> wrote:
    769 > As far as I understand, RMail is unmaintained.
    770 > And we wanted to switch away from it. Should we monkey-patch?
    771 >
    772 > Best regards,
    773 > Michael
    774 
    775 A little old, but I started moving message.rb from RMail to Mail gem
    776 (https://github.com/mikel/mail). My tree is at
    777 https://github.com/rakoo/heliotrope/tree/mail_gem
    778 
    779 Unfortunately I don't have a lot of messages to test all the features,
    780 especially MIME-related ones. I'd also love to have a test suite, so
    781 maybe it could be time to gather some example messages with tricky
    782 traps ?
    783 
    784 
    785 -- 
    786 Matthieu RAKOTOJAONA
    787 
    788 From matthieu.rakotojaona@gmail.com  Mon Mar 26 23:18:06 2012
    789 From: matthieu.rakotojaona@gmail.com (Matthieu Rakotojaona)
    790 Date: Tue, 27 Mar 2012 01:18:06 +0200
    791 Subject: [sup-devel] Filtering rules
    792 Message-ID: <CAMiZLn2_xGr2tqTeH8JhZ3RRBY1WrNYTgF+8jxZAn1ZFvAowrg@mail.gmail.com>
    793 
    794 Hello everyone,
    795 
    796 I have been working on a filtering rules system for heliotrope.
    797 Basically, I wanted to have something that can apply some rules to my
    798 messages, so that I could rearrange my mails' labels/state
    799 automatically at any given time, much like what notmuch does (speaking
    800 of which : it's sad that common goals in building an efficient mail
    801 system are so much separated by divergences in code).
    802 
    803 I preferred to use an "after-add" strategy, as opposed to a
    804 "before-add", for multiple reasons :
    805 
    806 - In a "after-add", messages are already indexed; a search for a
    807 matching criteria is easily done with mechanisms from whistlepig
    808 (which was built for the job). In a "before-add", you would have to
    809 search for your criterias manually
    810 - If you put bad labels/state before adding the message to the store,
    811 you have to search for it manually and apply the good ones
    812 - In case of a bulk import, a bulk labelling is practical.
    813 
    814 So I worked on a possible template for rules that is very simple. It's
    815 pure yaml, and looks like this :
    816 
    817 -  to:"sup" subject:"Filtering rules" :
    818      labels: "+sup"
    819 -  to:"me at domain.com" body:"Enlarge your" :
    820      state: "+spam"
    821 -  from:"facebook" :
    822      state: "-unread"
    823 
    824 Again, it's very simple, but I believe it is quite readable and can do
    825 most of the things one would want. You can have find more (documented)
    826 examples at the previous link.
    827 
    828 So I created a filter.rb script, in the heliotrope folder, on my
    829 public repo (https://github.com/rakoo/heliotrope/tree/filter). Here's
    830 how you use it :
    831 
    832   ruby filter.rb --dir /path/to/heliotrope/data/dir --check
    833 /path/to/rules/files.yml
    834 
    835 And it will print you what are the offending threads. I didn't put the
    836 changes back to the store yet for testing purposes (it's just a puts
    837 of the non-matching threads), but it's just a :dry_run opt away.
    838 Plus, state are to be considered differently than labels: they are
    839 per-message, not per-threads.
    840 
    841 Bonus : I guess most of us use Gmail and Gmail's filters. The same
    842 script can take your gmail filters and output a valid yaml rules file
    843 for you! You just have to export your rules by hand (it's a Lab
    844 feature) to a local file, and run :
    845 
    846   ruby filter.rb --dir /path/to/heliotrope/data/dir --import
    847 /path/to/gmail/filters/file.xml
    848 
    849 I have to work around a few quirks, but you can post-edit the
    850 generated file easily to get a usable rules file.
    851 There's a way to get your rules automagically from Google servers, but
    852 it is reserved to Google Apps users. If you're a simple user, you must
    853 use the export function.
    854 
    855 I'm working on the other way around (heliotrope -> Gmail), but Gmail's
    856 import/export rules are XML-the-verbose.
    857 
    858 Please enjoy this  !
    859 
    860 Totally unrelated : I happen to have some negative thread_ids. Is it
    861 an expected behaviour ?
    862 
    863 -- 
    864 Matthieu RAKOTOJAONA
    865