Ошибка сегментации при отправке простого письма из Rails 3.2 - PullRequest
2 голосов
/ 24 февраля 2012

Так что я не совсем уверен, что здесь делать.

У меня есть простое приложение, которое в основном готово, его главная цель - собрать RSVP для свадьбы. Я настроил простой почтовик, чтобы он уведомлял меня всякий раз, когда вводится новый протокол RSVP, как в журнале, где он работает. Однако всякий раз, когда я на самом деле говорю ему выполнять доставку в dev, возникает ошибка сегментации, и сервер rails падает. Я опубликовал ошибку в проекте rails на github, и они сказали, что это как-то связано с моим взаимодействием с OpenSSL, которое я не использовал. (это приложение 3.2 с нуля, не имеет ничего особенного или странного в настройке)

  config.action_mailer.default_url_options = { :host => 'gmail.com' }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address              => "smtp.gmail.com",
    :domain               => 'gmail.com',
    :port                 => 587,
    :user_name            => 'user@gmail.com',
    :password             => 'secret',
    :authentication       => 'plain',
    :enable_starttls_auto => true  }
  config.action_mailer.raise_delivery_errors = true

выдает гигантский журнал, который размещен на github: https://github.com/rails/rails/issues/5115

Так что я не уверен, куда идти отсюда. Я установил пакет openssl из rvm, который успешно собран и установлен, и я также попытался удалить enable_starttls_auto из файла конфигурации по предложению github, но он просто продолжает падать.

Я использую Ruby 1.9.3-p0 через RVM и rails 3.2.0 на OS X Lion

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

В итоге я выполнил следующие инструкции: Lion: проблема с установкой рубинов в RVM - проблема, связанная с openssl , и получил ruby, работающий с открытым SSL.Почта успешно отправлена, и у нее больше нет проблем с аварийным завершением работы сервера.Ура!

0 голосов
/ 17 января 2013

Они правы, что проблема связана с взаимодействием Rails с OpenSSL. Этот пост подводит итог удивительно хорошо. http://www.22ideastreet.com/debug/smtp-rb14-bug-segmentation-fault/

Исправление - добавить это в ваш .bashrc / .zshrc / .bash_profile

export RUBYOPT="-ropenssl" 
...