Welcome! Log In Create A New Profile

Advanced

Re: Воркер падает в корку по SIGSEGV (с примером)

Maxim Dounin
June 27, 2018 02:34PM
Hello!

On Wed, Jun 27, 2018 at 07:32:18AM -0400, nickolay wrote:

> Стандартный дистрибутив Debian 9.4. Сам perl, компилятор и всё остальное
> штатное. Никаких патчей не накатывал. Повторяется стабильно на разных
> машинах Debian 9.3 и Debian 9.4.

Откуда и как собирался/ставился nginx? Было ли это единоразовое
действие, или nginx пересобирался/переставлялся с другими опциями?

Подобное поведение наиболее вероятно, если perl-модуль nginx
(nginx.so) собран не с теми опциями, что сам nginx, и
соответственно предполагает неправильное о структурах данных
nginx'а, с которыми работает, в частности - о структуре запроса.

Чистый Debian 9 я вот прямо сейчас поднял в виртуалке, и с nginx
из стандартных пакетов (1.10.3) никаких проблем не наблюдается,
равно как и со свежесобранным из исходников 1.15.0.

> Но я нашёл причину падения и она связана с disable_not_modified. Вот такой
> патч устраняет падение в корку:
>
> --- ../nginx-1.15.0/src/http/modules/ngx_http_not_modified_filter_module.c
> 2018-06-05 16:47:25.000000000 +0300
> +++ src/http/modules/ngx_http_not_modified_filter_module.c 2018-06-25
> 01:25:22.299577899 +0300
> @@ -54,6 +54,7 @@
> static ngx_int_t
> ngx_http_not_modified_header_filter(ngx_http_request_t *r)
> {
> + r->disable_not_modified = 1;
> if (r->headers_out.status != NGX_HTTP_OK
> || r != r->main
> || r->disable_not_modified)

Это - совершенно точно не причина. Вы таким образом просто
отключаете not_modified фильтр, что, вероятно, позволяет не
наступать на повреждённые из-за несоответствия структур данные.
Где и при каких обстоятельствах оно на них таки наступит - никто
не знает.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Воркер падает в корку по SIGSEGV (с примером)

nickolay June 22, 2018 11:25AM

Re: Воркер падает в корку по SIGSEGV (с примером)

Maxim Dounin June 27, 2018 01:04AM

Re: Воркер падает в корку по SIGSEGV (с примером)

nickolay June 27, 2018 07:32AM

Re: Воркер падает в корку по SIGSEGV (с примером)

Maxim Dounin June 27, 2018 02:34PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 179
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