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