Unicorn fcntl: Errno::EPERM: операция не разрешена

Я запускал приложение Rails на Unicorn 5.5.5, и в некоторых средах оно выдает исключение, которое читается

bundler: failed to load command: unicorn (/usr/local/bundle/bin/unicorn)
Errno::EPERM: Operation not permitted
  /usr/local/bundle/gems/unicorn-5.5.0/lib/unicorn.rb:123:in `fcntl'
  /usr/local/bundle/gems/unicorn-5.5.0/lib/unicorn.rb:123:in `block in pipe'
  /usr/local/bundle/gems/unicorn-5.5.0/lib/unicorn.rb:116:in `each'
  /usr/local/bundle/gems/unicorn-5.5.0/lib/unicorn.rb:116:in `pipe'
  /usr/local/bundle/gems/unicorn-5.5.0/lib/unicorn/http_server.rb:126:in `start'
  /usr/local/bundle/gems/unicorn-5.5.0/bin/unicorn:128:in `<top (required)>'
  /usr/local/bundle/bin/unicorn:23:in `load'
  /usr/local/bundle/bin/unicorn:23:in `<top (required)>

Я хотел бы понять, что делает fcntl и почему этот патч добавлен. Я не очень понимаю внутренности каналов ввода-вывода и код, описанный здесь https://github.com/defunkt/unicorn/blob/master/lib/unicorn.rb#L115 и здесь https://bogomips.org/unicorn-public/[email protected]/T/

Может ли кто-нибудь объяснить, зачем это нужно и что это на самом деле делает?


person Sid    schedule 27.03.2019    source источник
comment
У нас такая же ошибка, но только в среде производства. В разработке все работает нормально.   -  person phlegx    schedule 02.04.2019


Ответы (1)


Мы понизили версию unicorn до v5.4.1, и все вернулось в норму. Я знаю, что это не решение, но на данный момент это помогает решить проблему.

person phlegx    schedule 02.04.2019