Некоторое время я успешно запускал приложение nginx + unicorn rails на EC2, но решил установить тестовый сервер на одном из моих VPS-серверов.
Я только что установил nginx на свой VPS, заработал все драгоценные камни, соответствующим образом изменил файлы конфигурации и попытался все запустить. Проблема началась со случайных запросов, возвращающих 502 ошибки. Когда я решил остановить сервер и перезапустить его снова, я получил ошибку повреждения памяти, обнаруженную glib с огромной трассировкой стека, которую я опубликую ниже.
Кто-нибудь знает, что здесь происходит не так?
Я запускаю сервер с:
bundle exec unicorn_rails -c config/unicorn.rb -D
Система, в которой это работает: (CentOS 5.6)
Linux ip-10-146-117-213 2.6.16-xenU # 1 SMP Пн 28 мая 03:41:49 SAST 2007 i686 i686 i386 GNU / Linux
Рельсы 3.0.9 Единорог 3.6.2
Система с проблемами:
(Debian wheezy / sid)
Linux www8221u 2.6.38-2-686 #1 SMP Thu Apr 7 05:24:21 UTC 2011 i686 GNU/Linux
Rails 3.0.9
Unicorn 3.6.2
Стек: (учитывая ограничение на количество символов, мне пришлось опубликовать трассировку стека в Gist. Если вы, ребята, хотели бы иметь здесь часть трассировки стека, я был бы рад опубликовать ее)
Задача решена. Проблема была связана с версией ruby, которую я сам скомпилировал. Похоже, это противоречило какой-то другой библиотеке.
Решил все, удалив все, что связано с рубином, и переустановил с помощью rvm.