Re: plperl sigfpe reset can crash the server

Andres Freund <andres@2ndquadrant.com>

From: Andres Freund <andres@2ndquadrant.com>
To: Alex Hunsaker <badalex@gmail.com>
Cc: pgsql-hackers@postgresql.org, Tom Lane <tgl@sss.pgh.pa.us>, Andrew Dunstan <andrew@dunslane.net>, Hannu Krosing <hannu@2ndquadrant.com>
Date: 2012-08-24T22:19:23Z
Lists: pgsql-hackers
On Saturday, August 25, 2012 12:15:00 AM Alex Hunsaker wrote:
> On Fri, Aug 24, 2012 at 4:10 PM, Andres Freund <andres@2ndquadrant.com> 
wrote:
> > We probably should workaround that bug anyway given that its a pretty
> > trivial DOS using only a trusted language and it will take quite some
> > time to push out newer perl versions even if that bug gets fixed.
> > 
> > Doing a pqsignal(SIGFPE, FloatExceptionHandler) after PERL_SYS_INIT3
> > seems to work. Is that acceptable?
> 
> Makes sense to me. (I have not looked to see if there is some perl
> knob we can flip for this)
I couldn't find any.  After some macro indirection the signal() call ends up 
being done unconditionally by a compiled function (Perl_sys_init3) without any 
conditions, so I don't think there is much that can be done without changing 
perl's source code...

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