Hello! On Fri, May 07, 2021 at 06:25:18PM +0300, Gena Makhomed wrote:
> Здравствуйте, All! > > Использую nginx 1.19.10 из официального репозитория на сайте nginx.org, > без сторонних модулей. При этом в логах наблюдаются такие строки: > > [alert] 2569378#2569378: *449013402 open socket #29 left in connection 3 > [alert] 2569378#2569378: *449013403 open socket #32 left in connection 8 > [alert] 2569378#2569378: aborting > > Насколько я понимаю - это означает что worker-процесс nginx аварийно > завершил свою работу. Можно ли как-то настроить nginx или систему > таким образом, чтобы в этот момент создавался дамп памяти процесса, > чтобы можно было бы найти причину этого аварийного завершения работы? В данном случае "aborting" означает, что следом за сообщением стоит ngx_debug_point(), и если в настройках будет "debug_points abort;", то случится abort с последующей записью дампа (http://nginx.org/r/debug_points). > Дальше в логе наблюдаются такие строки: > > [alert] 3459906#3459906: ignore long locked inactive cache entry > de41775189dd3dbc95ae14cfa9fa5813, count:2 > > Насколько я понимаю - это означает, что worker-процесс nginx аварийно > завершил свою работу в момент обновления записи в cache, и эта запись > осталась залоченной в памяти. Можно ли сделать так, чтобы в разделяемой > памяти в качестве признака блокировки использовался бы PID процесса? > > Т.е. если 0 - то запись не заблокирована, если какое-то ненулевое > значение - значит она заблокирована worker-процессом nginx с таким PID. > > И в случае обнаружения long locked inactive cache entry можно было бы > проверить - существует ли в системе worker-процесс nginx с таким PID, > и если нет - тогда просто разблокировать эту cache entry и продолжить > нормальную работу. > > Альтернативный вариант - это сделать так, чтобы nginx не падал, > но насколько я понимаю, программ без ошибок не бывает > и они есть даже и в nginx в настоящий момент времени. > > Конфиг бекенда, на котором была эта ошибка, примерно такой: > > aio threads; > aio_write on; Скорее всего в данном случае дело в aio_write, см. https://trac.nginx.org/nginx/ticket/2162. [...] -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru