Дворняга с Рубином 1.9

При запуске сервера я получаю эту странную ошибку после обновления до Ruby 1.9:

"[ОШИБКА] нарушение межпоточного взаимодействия в rb_gc () ruby ​​1.8.6 (2008-08-11) [i386-mswin32]

Это приложение запросило среду выполнения необычным образом завершить его. Пожалуйста, свяжитесь со службой поддержки приложения для получения дополнительной информации. "

Моя беспородная версия - 1.1.6, которая должна быть совместима с Ruby 1.9. У меня также все еще есть установка Ruby 1.8.6, поэтому я предполагаю, что по какой-то причине mongrel пытается получить к ней доступ и убивает ruby? Моя версия rails - 2.3.4, если это имеет значение.


person JussiR    schedule 04.05.2010    source источник


Ответы (2)


Я бы с подозрением отнесся к комментариям к вашему первоисточнику - большинство из последних - это спам-комментарии, указывающие на продажу ссылок. обувь или сумочки.

Обратите внимание, что из тех, кто сделал его работоспособным и не был спамером, они советуют сменить источник гемов на http://gems.rubyinstaller.org или использовать предварительную версию 1.2.0.

Лично я не могу придумать убедительных причин для использования Mongrel после 2008 года. Есть так много вариантов получше. Thin, Unicorn и Passenger активно поддерживаются, долгое время соответствуют 1.9, быстрее в типичных тестах, имеют разные сильные стороны в функциях и простоте развертывания. Когда это произошло, Mongrel было огромным шагом вперед, но теперь это что-то вроде антиквариата без явных преимуществ.

Просто ... что угодно, только не Уэбрик. Действительно.

person SFEley    schedule 15.05.2010
comment
Согласитесь с комментарием после 2008 г., но все же следует добавить, что на данный момент gems.rubyinstaller.org сообщает Heroku | No such app. There is no app configured at that hostname. Perhaps the app owner has renamed it, or you mistyped the URL. - person conny; 19.01.2011

который должен быть совместим с Ruby 1.9

Есть ли что-то конкретное, что заставляет вас так думать? Пару недель назад я установил, что Mongrel не работает с Ruby 1.9 в Windows. Я не верю, что Mongrel был успешно скомпилирован с помощью gcc / mingw32, которого требует Ruby 1.9.

Самый простой вариант - вернуться к WEBRick.

Также довольно просто использовать Thin, который сравним с Mongrel, а возможно и быстрее. Я обнаружил, что мне нужно его собрать, что потребует установки mingw. См. этот ответ SO - подготовьтесь к сборке перед gem install thin и все должно получиться ОК. Тогда просто используйте thin start вместо ruby script/server.

person Mike Woodhouse    schedule 04.05.2010
comment
Согласно этому сайту (isitruby19.com/mongrel) у некоторых людей он работает с 1.1.6 ... С Webrick я получаю следующее сообщение: [2010-05-04 16:40:41] INFO WEBrick 1.3.1 [2010-05-04 16:40:41] INFO ruby ​​1.9.1 (2010-01-10) [ i386-mingw32] [2010-05-04 16:40:41] ИНФОРМАЦИЯ WEBrick :: HTTPServer # start: pid = 2696 port = 3000 В radrails он показан красным, поэтому не уверен, что это нормальная информация или сообщение об ошибке. В любом случае после этого сервер работает, но когда я пытаюсь загрузить страницу в браузере, он останавливается. - person JussiR; 04.05.2010
comment
Ой, жаль, что это не правильно разрывает строки. Хм, я думаю, мне стоит попробовать Thin. - person JussiR; 04.05.2010