Re: plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https
Дата
Msg-id 4E3AA1C7.4020001@dunslane.net
обсуждение исходный текст
Ответ на plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https  (Hannu Krosing <hannu@2ndQuadrant.com>)
Ответы Re: plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https  (Hannu Krosing <hannu@krosing.net>)
Список pgsql-hackers

On 08/04/2011 09:07 AM, Hannu Krosing wrote:
> Hi
>
> I have been helping some people to debug a SIGALARM related crash
> induced by using pl/perlu http get functionality
>
> I have been so far able to repeat the crash only on Debian 64 bit
> computers. DB create script and instructions for reproducing the crash
> attached
>
> The crash is related to something leaving begind a bad SIGALARM handler,
> as it can be (kind of) fixed by resetting sigalarm to nothing using perl
> function

So doesn't this look like a bug in the perl module that sets the signal 
handler and doesn't restore it?

What happens if you wrap the calls to the module like this?:
    {        local $SIG{ALRM};        # do LWP stuff here    }    return 'OK';


That should restore the old handler on exit from the block.

I think if you use a perl module that monkeys with the signal handlers 
for any signal postgres uses all bets are off.


cheers

andrew




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

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: Compressing the AFTER TRIGGER queue
Следующее
От: Hannu Krosing
Дата:
Сообщение: Re: plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https