Maxim Dounin
July 02, 2019 08:20PM
Hello!

On Sat, Jun 29, 2019 at 08:00:59PM +0300, Vadim A. Misbakh-Soloviov wrote:

> Поправка: оно не падает в таком положении (даже на той машине) ТОЛЬКО если
> цепляться по -p (без дебага, замечу, падает. Так что странно).
>
> Попробовал запустить напрямую под gdb, получил такое:
>
> ```
> #0 0x00007ffff492d0c7 in raise () from /lib64/libc.so.6
> #1 0x00007ffff492eaf9 in abort () from /lib64/libc.so.6
> #2 0x00007ffff49242a9 in ?? () from /lib64/libc.so.6
> #3 0x00007ffff4924331 in __assert_fail () from /lib64/libc.so.6
> #4 0x00007ffff4e1d28f in S__invlist_len (invlist=0x555555ea8078) at
> invlist_inline.h:49

[...]

> #11 0x00007ffff4e5d0d2 in S_reg (my_perl=0x555555dd5c60,
> pRExC_state=0x7fffffff8da0, paren=0, flagp=0x7fffffff8ad8, depth=1) at
> regcomp.c:12088
> #12 0x00007ffff4e3ebf7 in Perl_re_op_compile (my_perl=0x555555dd5c60,
> patternp=0x0, pat_count=1, expr=0x555555dee908, eng=0x7ffff532b9a0
> <PL_core_reg_engine>, old_re=0x0, is_bare_re=0x0, orig_rx_flags=0,
> pm_flags=1073741824) at regcomp.c:7705

Всё это по прежнему выгядит как падение собственно перла в
процессе компиляции регулярного выражения. Судя по:

> #16 0x00007ffff500f64e in S_require_file (my_perl=0x555555dd5c60,
> sv=0x555555b9ce10) at pp_ctl.c:4322
> #17 0x00007ffff500f7aa in Perl_pp_require (my_perl=0x555555dd5c60) at
> pp_ctl.c:4346

и по:

> #26 0x00007ffff500f64e in S_require_file (my_perl=0x555555dd5c60,
> sv=0x555555e35038) at pp_ctl.c:4322
> #27 0x00007ffff500f7aa in Perl_pp_require (my_perl=0x555555dd5c60) at
> pp_ctl.c:4346

в процессе загрузки какого-то модуля, видимо второго по
вложенности. С учётом того, что при создании perl-интерпретатора
nginx автоматически загружает модуль nginx - видимо, падение
вызывает что-то, что подтягивается из nginx.pm. Там в свою
очередь используются Exporter и XSLoader, но ничего нетривиального
в них не видно. Впрочем, это может быть и что-то из site-local
загрузки.

Для начала, наверное, имеет смысл разобраться, что именно за
регулярное выражение падает, и из какого именно файла. Ну а
дальше - смотреть соответствующие коммиты/тикеты в перле,
воспроизводить и так далее.

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

[...]

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

NginX крошится с libperl-5.30

Vadim A. Misbakh-Soloviov June 29, 2019 07:40AM

Re: NginX крошится с libperl-5.30

Maxim Dounin June 29, 2019 08:08AM

Re: NginX крошится с libperl-5.30

Vadim A. Misbakh-Soloviov June 29, 2019 08:26AM

Re: NginX крошится с libperl-5.30

Maxim Dounin June 29, 2019 09:30AM

Re: NginX крошится с libperl-5.30

Vadim A. Misbakh-Soloviov June 29, 2019 12:30PM

Re: NginX крошится с libperl-5.30

Vadim A. Misbakh-Soloviov June 29, 2019 01:02PM

Re: NginX крошится с libperl-5.30

Maxim Dounin July 02, 2019 08:20PM

Re: NginX крошится с libperl-5.30

Илья Шипицин June 29, 2019 12:48PM

Re: NginX крошится с libperl-5.30

Vadim A. Misbakh-Soloviov June 29, 2019 01:06PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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