Поскольку мы обновили наше приложение до Rails 4.1.12 и Rack 1.5.5 из-за CVE, мы, кажется, получаем случайные 502. Приблизительно 1% запросов, и я не могу постоянно воссоздать проблему, только наблюдаю за ней (что крайне сложно, как вы можете себе представить). Мы работали на 4.1.8 и в стойке 1.5.2 ... Я попробовал понизить стойку и все еще наблюдаю за проблемами, однако из-за характера соблюдения, и т. Д. Возвращение к Rails 4.1.8 может быть довольно сложным.Исключение файлового дескриптора пассажира EBADF 502
Мы используем Passenger 5.0.6 (prod) и 5.0.13 (этап) с Ruby 2.1.5 с nginx.
Узор я вижу:
nginx-error: [ 2015-07-12 16:12:05.3947 2176/7f97fb7fe700 age/Hel/Req/Utils.cpp:89 ]: [Client 7-50] Sending 502 response: application did not send a complete response
nginx-error: App 2210 stderr: [ 2015-07-12 16:12:05.9232 2813/0x007f6eb5056088(Worker 1) utils.rb:85 ]: *** Exception Errno::EBADF in Passenger RequestHandler's client socket (Bad file descriptor - writev()) (process 2813, thread 0x007f6eb5056088(Worker 1)):
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/ruby_core_io_enhancements.rb:41:in `writev'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/ruby_core_io_enhancements.rb:41:in `writev'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/utils/unseekable_socket.rb:126:in `writev'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:177:in `process_body'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:104:in `process_request'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:149:in `accept_and_process_next_request'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:414:in `block (3 levels) in start_threads'
nginx-error: App 2210 stderr: #011from /usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:111:in `block in create_thread_and_abort_on_exception'
Я поднял этот вопрос на IRC#passenger и не видел, чтобы кто переживает один и тот же вопрос. Любые намеки на то, как выяснить, что именно вызывает это?
Был ли пассажир скомпилирован с Nginx в качестве модуля? Если да, пожалуйста, покажите версию Nginx и этого конкретного модуля пассажира – Anatoly
Мы установили пассажира, используя официальный deb repo от Phusion ... – bruno