Maxim Dounin
May 07, 2021 02:20PM
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
Subject Author Posted

ignore long locked inactive cache entry

Gena Makhomed May 07, 2021 11:26AM

Re: ignore long locked inactive cache entry

Maxim Dounin May 07, 2021 02:20PM

Re: ignore long locked inactive cache entry

Gena Makhomed May 07, 2021 03:42PM

Re: ignore long locked inactive cache entry

Maxim Dounin May 07, 2021 05:38PM

Re: ignore long locked inactive cache entry

Gena Makhomed May 08, 2021 05:26AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 320
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready