Re: plperl sigfpe reset can crash the server

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: plperl sigfpe reset can crash the server
Дата
Msg-id 201208240705.15183.andres@2ndquadrant.com
обсуждение исходный текст
Ответ на Re: plperl sigfpe reset can crash the server  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Friday, August 24, 2012 06:55:04 AM Tom Lane wrote:
> Andres Freund <andres@2ndquadrant.com> writes:
> > On Thursday, August 23, 2012 12:17:22 PM Andres Freund wrote:
> >> While debugging an instance of this bug I noticed that plperlu always
> > 
> >> removes the SIGFPE handler and sets it to ignore:
> > In fact it can be used to crash the server:
> Um ... how exactly can that happen, if the signal is now ignored?

Don't ask me the hard questions at 7 in the morning. I have no clue yet.

I don't see where but something resets SIGFPE before the server crashes. If I 
catch the sigfpe with gdb I see:

test=# SELECT pg_backend_pid();pg_backend_pid 
----------------         18084

root@awork2:/home/andres# grep -E '^Sig(Cgt|Ign)' /proc/18084/status
SigIgn:    0000000001301800
SigCgt:    0000000180006287

test=# SELECT (-2^31)::int/-1;
ERROR:  floating-point exception
DETAIL:  An invalid floating-point operation was signaled. This probably means 
an out-of-range result or an invalid operation, such as division by zero.

root@awork2:/home/andres# grep -E '^Sig(Cgt|Ign)' /proc/18084/status
SigIgn:    0000000001301800
SigCgt:    0000000180006287

test=# DO LANGUAGE plperl $$$$;

root@awork2:/home/andres# grep -E '^Sig(Cgt|Ign)' /proc/18084/status
SigIgn:    0000000001301880
SigCgt:    0000000180006207

test=# SELECT (-2^31)::int/-1;

Program received signal SIGFPE, Arithmetic exception.
0x00007f858001f8c6 in int4div (fcinfo=0x7f8581b30320)

root@awork2:/home/andres# grep -E '^Sig(Cgt|Ign)' /proc/18084/status
SigIgn:    0000000001301800
SigCgt:    0000000180006207

Andres
-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: plperl sigfpe reset can crash the server
Следующее
От: Andres Freund
Дата:
Сообщение: Re: plperl sigfpe reset can crash the server