my application is about ruby imap, it depends on daemons lib and runs
as a background job. when it fetches the mails from gmail, it will throw
the error below randomly:
2008-12-30 11:37:04 ERROR failed to process message 6@11: stopping only
thread
note: use sleep to stop forever
backtrace at Tue Dec 30 11:37:04 -0800 2008:
/usr/lib/ruby/1.8/monitor.rb:102:in `stop'
/usr/lib/ruby/1.8/monitor.rb:102:in `wait'
/usr/lib/ruby/1.8/net/imap.rb:954:in `get_tagged_response'
/usr/lib/ruby/1.8/net/imap.rb:1014:in `send_command'
/usr/lib/ruby/1.8/monitor.rb:238:in `synchronize'
/usr/lib/ruby/1.8/net/imap.rb:999:in `send_command'
/usr/lib/ruby/1.8/net/imap.rb:392:in `select'
/usr/lib/ruby/1.8/monitor.rb:238:in `synchronize'
/usr/lib/ruby/1.8/net/imap.rb:390:in `select'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:176:in
`load'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:176:in
`start_load'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:253:in
`start'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/controller.rb:69:in
`run'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:139:in `run'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in
`call'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in
`catch_exceptions'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:138:in `run'
my application is about ruby imap, it depends on daemons lib and runs
as a background job. when it fetches the mails from gmail, it will throw
the error below randomly:
I've noticed some really odd threading behavior in net/imap too. I think it needs a bit of a threading overhaul. We have at least one reported bug in JRuby that seems to be related to bad use of mutexes:
my application is about ruby imap, it depends on daemons lib and runs
as a background job. when it fetches the mails from gmail, it will throw
the error below randomly:
I've noticed some really odd threading behavior in net/imap too. I think
it needs a bit of a threading overhaul. We have at least one reported
bug in JRuby that seems to be related to bad use of mutexes:
the error is about ruby monitor implementation or imap? what do you think?
Well, looking at imap makes my head hurt, so I'm going to say it's a problem in imap. I'm fairly confident in both the JRuby and Ruby Mutex implementations, since they're not particularly complicated. But I'm not at all confident in the imap code.
the error is about ruby monitor implementation or imap? what do you
think?
Well, looking at imap makes my head hurt, so I'm going to say it's a
problem in imap. I'm fairly confident in both the JRuby and Ruby Mutex
implementations, since they're not particularly complicated. But I'm not
at all confident in the imap code.
- Charlie
Charlie, if you look at the imap implementation in ruby1.8 and ruby1.9,
you'll find that the code(imap.rb) between 2 versions are not so
different.but the treading and monitor between 2 versions change a lot.
i'm very familiar with the imap code, and i had added IDEL command to
ruby imap(ruby1.8) implementaton in my last project. so i think this
error is all about threading.