Приложение ruby ​​on rails зависло на futex 'kill QUIT PID', но пассажир не отследил - PullRequest
0 голосов
/ 08 февраля 2019

Часть вывода статуса пассажира (nginx/1.14.0 Phusion_Passenger/6.0.1) показывает, что два процесса завершают работу, но не могут выйти.

  * PID: 10351   Sessions: 1       Processed: 279777   Uptime: 6d 1h 41m 37s
    CPU: 3%      Memory  : 625M    Last used: 2d 3
    Shutting down...
  * PID: 10370   Sessions: 1       Processed: 290718   Uptime: 6d 1h 41m 37s
    CPU: 3%      Memory  : 778M    Last used: 6h 5
    Shutting down...

Вывод strace сообщает, что процесс ruby ​​застрял при вызове futex.

$ strace -p 10351 strace: Process 10351 attached futex(0x7fd7cbf02210, FUTEX_WAIT_PRIVATE, 0, NULL

kill -QUIT 10351 также не дает мне никакой информации о трассировке.

Соответствующий вывод ps -efL для обработки 10351 показывает другой идентификатор потока 10353.

ubuntu   10351     1 10351  0    2 Feb02 ?        00:00:02 Passenger AppPreloader: /var/www/app/current (forking...)
ubuntu   10351     1 10353  0    2 Feb02 ?        00:00:00 Passenger AppPreloader: /var/www/app/current (forking...)

и strace -p 10353 выводит:

strace: Process 10353 attached
restart_syscall(<... resuming interrupted poll ...>

Любая идея, какполучить информацию о трассировке ruby ​​для устранения проблемы?

...