Re: Printing backtrace of postgres processes

Поиск
Список
Период
Сортировка
От Ashutosh Bapat
Тема Re: Printing backtrace of postgres processes
Дата
Msg-id CAExHW5ugP_fAXtZhyES4zW5OtYn8J5e=eDZbSCCVM2ekASQRSg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Printing backtrace of postgres processes  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Ответы Re: Printing backtrace of postgres processes  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
On Fri, Feb 9, 2024 at 2:18 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> On 2024-Feb-09, Michael Paquier wrote:
>
> > Anyway, I've been digging around the signal-safety of backtrace(3)
> > (even looking a bit at some GCC code, brrr), and I am under the
> > impression that backtrace() is just by nature not safe and also
> > dangerous in signal handlers.  One example of issue I've found:
> > https://github.com/gperftools/gperftools/issues/838
> >
> > This looks like enough ground to me to reject the patch.
>
> Hmm, but the backtrace() manpage says
>
>        •  backtrace() and backtrace_symbols_fd() don't call malloc()  explic‐
>           itly,  but  they  are part of libgcc, which gets loaded dynamically
>           when first used.  Dynamic loading usually triggers a call  to  mal‐
>           loc(3).   If  you  need certain calls to these two functions to not
>           allocate memory (in signal handlers, for example), you need to make
>           sure libgcc is loaded beforehand.
>
> and the patch ensures that libgcc is loaded by calling a dummy
> backtrace() at the start of the process.
>

We defer actual action triggered by a signal till CHECK_FOR_INTERRUPTS
is called. I understand that we can't do that here since we want to
capture the backtrace at that moment and can't wait till next CFI. But
printing the backend can surely wait till next CFI right?


--
Best Wishes,
Ashutosh Bapat



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Printing backtrace of postgres processes
Следующее
От: Andy Fan
Дата:
Сообщение: Re: Extract numeric filed in JSONB more effectively