(no subject)


require ‘net/imap’

imap = Net::IMAP.new(‘localhost’, 993, true)
imap.authenticate(‘LOGIN’,‘dom’,‘mypassword’)
imap.examine(‘INBOX’)
imap.search([‘SINCE’,‘01-Jan-2000’]).each do |msg_id|
puts msg_id
imap.fetch(msg_id, ‘ENVELOPE’)[0].attr[‘ENVELOPE’]
end

This code will cause Ruby to core dump with a bus error after a number
of fetches. The number is not constant. Garbage collector acting up, or
am I at fault?

Cheers,

Dominic M.
IT Manager, GDC
3rd Floor
69 Wilson Street
London EC2A 2BB

[email protected]
www.graphdata.co.uk

Dominic M. wrote:

This code will cause Ruby to core dump with a bus error after a number
of fetches. The number is not constant. Garbage collector acting up, or
am I at fault?

No, it’s a bug, either in one of the included packages (socket, monitor,
digest/md5 or openssl) or a bug in Ruby itself. If I were a betting
man, I’d
bet on monitor (synchronize), but that’s a guess.

Which version of Ruby, btw? The Changelog indicates that there were a
few
touchups since 1.8.2.

Regards,

Dan