Сегфо с Метеором + Пассажир + Nginx - PullRequest
2 голосов
/ 18 июня 2019

У меня есть приложение Meteor с Passenger + Nginx, следующее этому руководству: https://www.phusionpassenger.com/library/walkthroughs/deploy/meteor/

Я настроил пассажир для запуска нескольких потоков узлов с этой конфигурацией:

   passenger_max_pool_size 8;
   passenger_min_instances 8;

Метеоритное приложение обслуживает REST API для мобильного приложения, и моя проблема в том, что API случайным образом вызывает ошибку segfault, например, в системном журнале:

Passenger NodeA[24873]: segfault at 100000007 ip 000022bb101f46ef sp 00007f83f2037218 error 4
Passenger NodeA[18964]: segfault at 100000007 ip 000020339c6746ef sp 00007f79aa78b2f8 error 4

Ошибка возникает случайным образом с разными службами, например, у меня есть служба POST, которая хранит изображение, и 1 из 4 раз в журналах nginx это выглядит так:

[ W 2019-06-18 08:00:56.6081 9877/T9 age/Cor/Con/InternalUtils.cpp:96 ]: [Client 1-122] Sending 502 response: application did not send a complete response
[ N 2019-06-18 08:00:57.0585 9877/Tc age/Cor/CoreMain.cpp:1146 ]: Checking whether to disconnect long-running connections for process 10466, application /var/www/meteor/bundle (production)

Другой пример:

[ W 2019-06-18 08:11:12.2328 9877/Ti age/Cor/Con/InternalUtils.cpp:96 ]: [Client 6-161] Sending 502 response: application did not send a complete response
[ W 2019-06-18 08:11:15.1779 9877/T3 age/Cor/App/Poo/AnalyticsCollection.cpp:102 ]: Process (pid=13735, group=/var/www/meteor/bundle (production)) no longer exists! Detaching it from the pool.
[ N 2019-06-18 08:11:15.1779 9877/T3 age/Cor/CoreMain.cpp:1146 ]: Checking whether to disconnect long-running connections for process 13735, application /var/www/meteor/bundle (production)

Я не знаю, как отладить эту ошибку,

Отправка ответа 502: приложение не отправило полный ответ

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

...