nginx/1.10.2 crashes in ngx_http_v2_write_handler

Валентин Бартенев vbart на nginx.com
Вс Ноя 20 16:17:12 UTC 2016


On Sunday 20 November 2016 17:58:45 Dmitriy M. wrote:
[..]
> 
> К сожалению, это практически невозможно. Сервису необходимы
> перечисленные при сборке модули, без них возможности проверки под
> нагрузкой нет. Способа воспроизведения нет, они происходят
> неконтролируемо и очень редко (1-2 краша в сутки на ряде разных
> клонированных сетапов).
> 
> Могу дополнить, что эти же модули (набор модулей, но да
> headers-more-nginx-module-84241e4 и libressl были обновлены) были
> вкомпилены в nginx-1.9.12 , с которым на протяжении более полугода
> крашей небыло, конфигурация nginx.conf существенно не менялась.
> 
> Попробую собрать с предыдущими версиями модулей
> (openresty-headers-more-nginx-module-0c6e05d и libressl-2.3.6) и без
> оптимизаций кода для дебаггинга.
> https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/

То, что модули раньше работали - абсолютно не показатель.  Многие сторонние
модули славятся тем, что лезут во внутренние структуры nginx, используя их
не по назначению.  Как результат, такие модули могут поломать nginx при любых 
изменениях в его внутренних механизмах.

Между версией 1.10.1 и 1.10.2 произошли существенные изменения в обработке
тела запроса в модуле http/2.

Бектрейс, который вы привели - не содержит какой-либо полезной информации
для дебага.  Ошибка, послужившая причиной падения, произошла в другом месте,
на другой итерации цикла обработки событий.  А то, что видно на бэктрейсе - 
лишь следствие.

Можно попытаться получить debug-лог перед падением:
http://nginx.org/ru/docs/debugging_log.html#memory

Смотрите раздел про запись его в буфер в памяти.

--
Валентин Бартенев


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