Re: 500-ки, которых не пишется в error.log

Maxim Dounin mdounin на mdounin.ru
Вт Июн 2 20:09:06 UTC 2020


Hello!

On Tue, Jun 02, 2020 at 06:57:10PM +0500, Илья Шипицин wrote:

> столкнулись с ситуацией, 500 пишется в access.log, при этом upstream_addr
> пустой, в error.log пусто.
> 
> поиск по коду показывает несколько мест примерно вот таких (выделили
> память, она не выделилась, финализировали с 500-кой)
> 
> http://hg.nginx.org/nginx/file/tip/src/http/ngx_http_core_module.c#l1012
> 
> есть подозрение, что мы взорвались на каком-то таком palloc-е
> мониторинг не показывает, что на хосте не хватало памяти (но, возможно, у
> palloc-а были свои проблемы).
> 
> в подобных местах, когда фейлится palloc, может стоит в error.log добавить
> ошибку ? или это по каким-то причинам невозможно ?

Все ошибки palloc'а - сводятся к невозможности получить память от 
системы, либо с помощью malloc(), либо с помощью posix_memalign() 
или memalign().  И это будет в error log'е на уровне emerg.

Именно поэтому дополнительного логгирования в таких случаях не 
делается: оно не нужно, проблема уже залоггирована на максимально 
возможном уровне важности.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru