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

Hannu Krosing <hannu@2ndquadrant.com>

From: Hannu Krosing <hannu@2ndQuadrant.com>
To: Pgsql Hackers <pgsql-hackers@postgresql.org>
Date: 2011-08-04T13:47:03Z
Lists: pgsql-hackers

Attachments

On Thu, 2011-08-04 at 15:07 +0200, 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

Resending - the previous one was in pre-edit stage with
instructions/comments in estonian :(

> 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 
> 
> REATE OR REPLACE FUNCTION reset_sigalarm() RETURNS VOID
>     LANGUAGE plperlu
> AS $_X$
>    $SIG{ALRM} = 'IGNORE';
> $_X$;
> 
> ( unfortunately this hoses deadlock detection and statement_timeout )
> 
> Environment where this crash does happen:
> 
> Debian GNU/Linux 6.0  - x86-64
> openssl                 0.9.8o-4squeeze1
> postgresql-9.0          9.0.4-1~bpo60+1 
> postgresql-plperl-9.0   9.0.4-1~bpo60+1 
> libwww-perl             5.836-1      
> 
> Postgresql is installed from backports
> 
> It does not happen on 32 bit ubuntu
> 
> 

-- 
-------
Hannu Krosing
PostgreSQL Infinite Scalability and Performance Consultant
PG Admin Book: http://www.2ndQuadrant.com/books/