mail icon indicating copy to clipboard operation
mail copied to clipboard

Infinite loop when using mail 2.7.0 and 2.6.x. Works okay on 2.5.5 and below

Open Nowaker opened this issue 7 years ago • 5 comments

This is happening to me on mail 2.7.0 and 2.6.x. Downgrading to 2.5.5 resolves the problem. I'd be happy to assist with finding the cause for this but I'd need a little guidance as to what to provide. Thanks.

  ... # and so on, repeat
  mail (2.7.0) lib/mail/message.rb:1831:in `encoded'
# end loop section
  mail (2.7.0) lib/mail/message.rb:1896:in `to_s'
  mail (2.7.0) lib/mail/fields/unstructured_field.rb:34:in `initialize'
  mail (2.7.0) lib/mail/field.rb:277:in `new'
  mail (2.7.0) lib/mail/field.rb:277:in `new_field'
  mail (2.7.0) lib/mail/field.rb:264:in `create_field'
  mail (2.7.0) lib/mail/field.rb:185:in `field'
  mail (2.7.0) lib/mail/field.rb:237:in `method_missing'
  mail (2.7.0) lib/mail/header.rb:213:in `block in encoded'
  mail (2.7.0) lib/mail/header.rb:212:in `each'
  mail (2.7.0) lib/mail/header.rb:212:in `encoded'
  mail (2.7.0) lib/mail/message.rb:1831:in `encoded'
# begin loop section
  actionmailer (4.2.10) lib/action_mailer/base.rb:562:in `set_payload_for_mail'
  actionmailer (4.2.10) lib/action_mailer/base.rb:542:in `block in deliver_mail'
  activesupport (4.2.10) lib/active_support/notifications.rb:164:in `block in instrument'
  activesupport (4.2.10) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.2.10) lib/active_support/notifications.rb:164:in `instrument'
  actionmailer (4.2.10) lib/action_mailer/base.rb:541:in `deliver_mail'
  mail (2.6.0) lib/mail/message.rb:232:in `deliver'
  actionmailer (4.2.10) lib/action_mailer/message_delivery.rb:85:in `deliver_now'
  actionmailer (4.2.10) lib/action_mailer/message_delivery.rb:105:in `deliver'
  app/models/message.rb:615:in `send_email'

Nowaker avatar Sep 23 '18 22:09 Nowaker

Could you check in a debugger to see why a message field is referencing the message itself?

jeremy avatar Sep 24 '18 01:09 jeremy

OK, will do in the coming week. Thanks @jeremy.

Nowaker avatar Sep 24 '18 02:09 Nowaker

I used a debugger and I couldn't really understand what was going on. Any tips where I should put breakpoints, and what to look at? The trace loop using the latest version of this library (2.7.1) is:

# ... and again: /home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/fields/unstructured_field.rb:34:in `initialize'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/field.rb:279:in `new'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/field.rb:279:in `new_field'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/field.rb:266:in `create_field'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/field.rb:187:in `field'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/field.rb:239:in `method_missing'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/header.rb:213:in `block in encoded'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/header.rb:212:in `each'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/header.rb:212:in `encoded'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/message.rb:1831:in `encoded'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/message.rb:1896:in `to_s'
/home/nowaker/.rvm/gems/ruby-3.0.4/gems/mail-2.7.1/lib/mail/fields/unstructured_field.rb:34:in `initialize'

Nowaker avatar Jul 30 '22 18:07 Nowaker

I'm working on moving the application from Rails 4.x to 6.x and mail 2.7.1 is required... Hence I'm back to this :)

Nowaker avatar Jul 30 '22 18:07 Nowaker

...Bumping to 2.8.0.rc1 fixes the problem.

Nowaker avatar Jul 30 '22 19:07 Nowaker