Re: plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Tim Bunce <Tim.Bunce@pobox.com>, Alex Hunsaker <badalex@gmail.com>, Pgsql Hackers <pgsql-hackers@postgresql.org>, Hannu Krosing <hannu@2ndQuadrant.com>
Date: 2011-08-10T16:44:55Z
Lists: pgsql-hackers
On 08/09/2011 04:32 PM, Tom Lane wrote: > Andrew Dunstan<andrew@dunslane.net> writes: >> On 08/09/2011 12:22 PM, Tom Lane wrote: >>> No. As I pointed out upthread, the instant somebody changes the SIGALRM >>> handler to a non-Postgres-aware one, you are already at risk of failure. >>> Setting it back later is just locking the barn door after the horses >>> left. Institutionalizing such a non-fix globally is even worse. >> So what's your suggestion? I know what you said you'd like, but it >> doesn't appear at all practical to me. > [ shrug... ] Installing a perl module that mucks with the signal > handlers is in the "don't do that" category. A kluge such as you > suggest will not get it out of that category; all it will do is add > useless overhead for people who are following the rules. > > Well, knowing what a given module might do isn't always easy (see below). I don't much like saying to people "I told you so", especially when following the advice isn't necessarily straightforward. After some experimentation, I found that, at least on my system, if LWP uses Crypt::SSLeay for https requests then it sets an alarm handler, but if instead it uses IO::Socket::SSL an alarm handler is not set. So the answer to the OP's original problem is probably "make sure you have IO::Socket::SSL installed and that Crypt::SSLeay is not installed." cheers andrew