Re: plperl sigfpe reset can crash the server - Mailing list pgsql-hackers

From Andres Freund
Subject Re: plperl sigfpe reset can crash the server
Date
Msg-id 201208261810.02800.andres@2ndquadrant.com
Whole thread Raw
In response to Re: plperl sigfpe reset can crash the server  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: plperl sigfpe reset can crash the server
List pgsql-hackers
On Saturday, August 25, 2012 06:38:09 AM Tom Lane wrote:
> Andres Freund <andres@2ndquadrant.com> writes:
> > Doing a pqsignal(SIGFPE, FloatExceptionHandler) after PERL_SYS_INIT3
> > seems to work. Is that acceptable?
> 
> Surely that's breaking perl's expectations, to more or less the same
> degree they're breaking ours?
In the referenced bug they agree that this is the way forward.

There is the issue of corrupting the perl environment if you manage to 
generate a SIGFPE - I couldn't so far - but I see no way other than of 
teaching the sigfpe handler to really ignore the error as perl wants.
Not sure if adding such ugliness is acceptable.

The issue that the handler does a longjmp out of external code is a general 
problem btw. While pg will probably never create a sigfpe while in anything 
critical the same cannot be said about external code.
So anything external with persistent state probably can be made to crash or 
similar.

Not sure if there is any real way out of this but making the handler FATAL if 
non pg code is running.

Greetings,

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



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [NOVICE] index refuses to build
Next
From: Tomas Vondra
Date:
Subject: Re: PATCH: pgbench - random sampling of transaction written into log