У нас есть более раннее приложение REE rails, которое я работаю в локальной локальной среде в OSX Yosemite. Недавно я переключился с Маверикс, с которым у меня не было проблем. Я впервые запустил это приложение на своем новом рабочем маке и обнаружил, что не смог войти в систему из-за того, что он сбросил ошибку ошибки сегмента и вышел из локального сервера webrick. После некоторого исследования, я нашел виновника:Ruby Digest :: SHA512.hexdigest выдает ошибку сегмента и завершает работу в Yosemite
digest = Digest::SHA512.hexdigest('some_arbitrary_value')
О дальнейшем исследовании, я обнаружил, что эта строка кода выдает следующее сообщение об ошибке:
[BUG] Segmentation fault
ruby 1.8.7 (2013-06-27 MBARI 8/0x6770 on patchlevel 374) [i686-darwin14.3.0], MBARI 0x6770, Ruby Enterprise Edition 2012.02
... и выходит консоль рубиновый.
Оба варианта рубинов 1.8.7 и REE производят эту проблему на моей машине OSX Yosemite. Ruby версии 1.9.3 и новее, похоже, производят ожидаемый хеш без ошибок.
Почему Digest::SHA512.hexdigest
производит ошибку [BUG] Segmentation fault
после переключения с OSX Mavericks на Yosemite?
Это не решение, но мое временное обходное решение для этого, чтобы я мог выполнить свою неотложную задачу без фактического решения проблемы, - это изменить 512 на 256 в этой строке кода. Обратите внимание, что все, что зашифровано с 512, больше не будет соответствовать тому, что вы зашифруете сейчас, но в моем случае я мог бы легко сбросить пароль и логин, чтобы продолжить разработку. – cesoid