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