Welcome! Log In Create A New Profile

Advanced

Re: nginx worker process 3964 exited on signal 11

Maxim Dounin
February 21, 2010 07:32PM
Hello!

On Mon, Feb 22, 2010 at 12:58:34AM +0300, Igor Sysoev wrote:

> On Mon, Feb 22, 2010 at 12:45:23AM +0300, Maxim Dounin wrote:
>
> > Hello!
> >
> > On Sun, Feb 21, 2010 at 02:33:25PM +0300, Peter Leonov wrote:
> >
> > > On 21.02.2010, at 13:59, Igor Sysoev <igor@sysoev.ru> wrote:
> > >
> > > >On Sun, Feb 21, 2010 at 01:48:36PM +0300, Дугин Сергей wrote:
> > > >
> > > >>Здравствуйте, .
> > > >>
> > > >>Как с этим бороться?
> > > >>
> > > >…
> > > >Вот что с людьми делает долгое и неконтроллируемое употребление
> > > >.htaccess/mod_rewite. Мозг перестаёт понимать, что существуют другие
> > > >методы решения задач:
> > > >
> > > >http://sysoev.ru/nginx/docs/http/ngx_http_geo_module.html
> > > >и
> > > > if ($geo) {
> > > > rewrite ^ http://aaaaaaa.ru/bbbbb/cccccc/$uri last;
> > > > }
> > >
> > > Это да :)
> > >
> > > Но, ведь, и сегфолта быть не должно.
> >
> > В 0.8.25+ его и не будет.
>
> Почему ? Тут же не named captures.

Потому что в 0.8.25 ты переделал работу с regexp'ами, и
pcre_exec() в новом коде зовётся с правильным размером ovecsize.

Проблема была вот в этом коде (ngx_http_script.c):

if (code->ncaptures && r->captures == NULL) {

r->captures = ngx_palloc(r->pool,
(NGX_HTTP_MAX_CAPTURES + 1) * 3 * sizeof(int));
if (r->captures == NULL) {
e->ip = ngx_http_script_exit;
e->status = NGX_HTTP_INTERNAL_SERVER_ERROR;
return;
}
}

rc = ngx_regex_exec(code->regex, &e->line, r->captures, code->ncaptures);

где code->ncaptures - количество captures в конкретном регулярном
выражении (в оригинальном примере топикстартера - 132 штук), а
место под r->captures выделяется под (NGX_HTTP_MAX_CAPTURES + 1)
== 10 штук.

Maxim Dounin

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

nginx worker process 3964 exited on signal 11

Дугин Сергей February 21, 2010 05:50AM

Re: nginx worker process 3964 exited on signal 11

Vladimir Sopot February 21, 2010 06:00AM

Re: nginx worker process 3964 exited on signal 11

Igor Sysoev February 21, 2010 06:00AM

Re: nginx worker process 3964 exited on signal 11

Peter Leonov February 21, 2010 06:34AM

Re: nginx worker process 3964 exited on signal 11

Maxim Dounin February 21, 2010 04:46PM

Re: nginx worker process 3964 exited on signal 11

Igor Sysoev February 21, 2010 05:00PM

Re: nginx worker process 3964 exited on signal 11

Maxim Dounin February 21, 2010 07:32PM

Re: nginx worker process 3964 exited on signal 11

Дугин Сергей February 21, 2010 07:00AM

Re: nginx worker process 3964 exited on signal 11

Kirill A. Korinskiy February 21, 2010 04:24PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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