Thread: PL/Perl?

PL/Perl?

From
Larry Rosenman
Date:
I upgraded PostgreSQL to 7.2.1 from a 7.2beta (yeah, I know).  One of my
users requested plperl, so I got it to createlang, but it SIGSEGV's on
any simple perl. 

The compile gives:

plperl_installdir='$(DESTDIR)/usr/local/pgsql/lib' \
/usr/bin/perl Makefile.PL  INC='-I. -I../../../src/include -I/usr/local/include'
Writing Makefile for plperl
gmake -f Makefile all VPATH=
gmake[1]: Entering directory `/home/ler/pg-prod/postgresql-7.2.1/src/pl/plperl'
cc -c -I. -I../../../src/include -I/usr/local/include -I/usr/local/include -O   -DVERSION=\"0.10\"
-DXS_VERSION=\"0.10\"-Kpic -I/usr/local/lib/perl5/5.6.1/i386-svr5/CORE  plperl.c
 
UX:acomp: WARNING: "/usr/local/lib/perl5/5.6.1/i386-svr5/CORE/perl.h", line 469: macro redefined: USE_LOCALE
UX:acomp: WARNING: "/usr/local/lib/perl5/5.6.1/i386-svr5/CORE/perl.h", line 2155: macro redefined: DEBUG
UX:acomp: WARNING: "plperl.c", line 244: syntax error:  empty declaration
cc -c -I. -I../../../src/include -I/usr/local/include -I/usr/local/include -O   -DVERSION=\"0.10\"
-DXS_VERSION=\"0.10\"-Kpic -I/usr/local/lib/perl5/5.6.1/i386-svr5/CORE  eloglvl.c
 
/usr/bin/perl -I/usr/local/lib/perl5/5.6.1/i386-svr5 -I/usr/local/lib/perl5/5.6.1
/usr/local/lib/perl5/5.6.1/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.6.1/ExtUtils/typemap SPI.xs > SPI.c
 
cc -c -I. -I../../../src/include -I/usr/local/include -I/usr/local/include -O   -DVERSION=\"0.10\"
-DXS_VERSION=\"0.10\"-Kpic -I/usr/local/lib/perl5/5.6.1/i386-svr5/CORE  SPI.c
 
UX:acomp: WARNING: "/usr/local/lib/perl5/5.6.1/i386-svr5/CORE/perl.h", line 469: macro redefined: USE_LOCALE
UX:acomp: WARNING: "/usr/local/lib/perl5/5.6.1/i386-svr5/CORE/perl.h", line 2155: macro redefined: DEBUG
UX:acomp: WARNING: "SPI.c", line 73: end-of-loop code not reached
UX:acomp: WARNING: "SPI.c", line 88: end-of-loop code not reached
UX:acomp: WARNING: "SPI.c", line 103: end-of-loop code not reached
UX:acomp: WARNING: "SPI.c", line 118: end-of-loop code not reached
UX:acomp: WARNING: "SPI.c", line 133: end-of-loop code not reached
Running Mkbootstrap for plperl ()
chmod 644 plperl.bs
rm -f blib/arch/auto/plperl/plperl.so
LD_RUN_PATH="" cc  -G -Wl,-Bexport -L/usr/local/lib -L/usr/gnu/lib plperl.o eloglvl.o SPI.o -L/usr/local/lib
-L/usr/gnu/lib/usr/local/lib/perl5/5.6.1/i386-svr5/auto/DynaLoader/DynaLoader.a
-L/usr/local/lib/perl5/5.6.1/i386-svr5/CORE-lperl -lsocket -lnsl -ldl -lld -lm -lcrypt -lutil -o
blib/arch/auto/plperl/plperl.so    
 
chmod 755 blib/arch/auto/plperl/plperl.so
cp plperl.bs blib/arch/auto/plperl/plperl.bs
chmod 644 blib/arch/auto/plperl/plperl.bs
gmake[1]: Leaving directory `/home/ler/pg-prod/postgresql-7.2.1/src/pl/plperl'

and any run gives the following backtrace:
$ debug -ic -c core.16991 /usr/local/pgsql/bin/postgres
Warning: No debugging information in /usr/local/pgsql/bin/postgres
Core image of postgres (process p1) created
CORE FILE [Perl_hv_fetch in hv.c]
SIGNALED 11 (segv code[SEGV_MAPERR] address[0x20202020]) in p1       0xa7cc306e (Perl_hv_fetc+126:)  cmpl   $0,(%eax)
debug> stack
Stack Trace for p1, Program postgres
*[0] Perl_hv_fetch(0x8431d54, 0xbfffd090, 0x4, 0x2, 0xbfffd090,
0xa7d217d8, 0x2)        [0xa7cc306e][1] Perl_gv_fetchpv(presumed: 0xa7d217d8, 0x2, 0xb)    [0xa7c81675][2]
S_init_main_stash(presumed:0xbfffd4a4, 0xa7d34924, 0)    
 
[0xa7c7c8df][3] S_parse_body(0, 0xa7d3ab70)        [0xa7c79556][4] perl_parse(presumed: 0x8431c08, 0xa7d3ab70, 0x3)
[0xa7c79370][5]plperl_init_interp(presumed: 0xa7d3e25c, 0x8427a7c, 0xa7d3a77d)   
 
[0xa7d3a711][6] plperl_init_all(presumed: 0, 0x8427cb4, 0x8427a7c) [0xa7d3a689][7] plperl_call_handler(presumed:
0xbfffd51c,0x8427a7c, 0x8427cb4)   
 
[0xa7d3a778][8] ExecMakeFunctionResult(0x8427cb4, 0, 0x8427a7c, 0xbfffd7ab,
0xbfffd610)    [0x80e813d][9] ExecEvalFunc(presumed: 0x8427834, 0x8427a7c, 0xbfffd7ab)  
[0x80e8276][10] ExecEvalExpr(presumed: 0x8427834, 0x8427a7c, 0xbfffd7ab) 
[0x80e7000][11] ExecTargetList(presumed: 0x84278b8, 0x1, 0x8427ac8)      
[0x80e8a83][12] ExecProject(presumed: 0x84278d4, 0xbfffd80c, 0x842792c)  
[0x80e8db8][13] ExecResult(presumed: 0x842792c, 0x84279d4, 0x84279d4)    
[0x80eedcc][14] ExecProcNode(presumed: 0x842792c, 0, 0x842792c)   [0x80e6b3d][15] ExecutePlan(presumed: 0x84279d4,
0x842792c,0x1)  [0x80e4d06][16] ExecutorRun(0x84279b8, 0x84279d4, 0x3, 0) [0x80e5387][17] ProcessQuery(presumed:
0x841943c,0x842792c, 0x2) [0x8140d02][18] pg_exec_query_string(0x8419108, 0x2, 0x83cf7a4, 0x8419108)       
 
[0x813f354][19] PostgresMain(0x4, 0xbfffdb38, 0x83cb8e9)  [0x8140117][20] DoBackend(0x83cb7b8, 0x8378aa8)
[0x811f3e3][21]BackendStartup(presumed: 0x83cb7b8, 0x8317384, 0xffff1538)       
 
[0x811eaa6][22] ServerLoop(presumed: 0xbfffee04, 0x1f, 0x8378a10) [0x811e8aa][23] PostmasterMain(presumed: 0x2,
0x8378a10,0xbfffedf8)     
 
[0x811da7a][24] main(0x2, 0xbfffee04, 0xbfffee10) [0x80f9b58][25] _start()  [0x8067e6c]
debug> 

Any ideas? 


-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749



Re: PL/Perl?

From
Tom Lane
Date:
Larry Rosenman <ler@lerctr.org> writes:
> I upgraded PostgreSQL to 7.2.1 from a 7.2beta (yeah, I know).  One of my
> users requested plperl, so I got it to createlang, but it SIGSEGV's on
> any simple perl. 

I was seeing the same with perl 5.6.1 and PG 7.2.* on HPUX 10.20.
However, I have just verified that perl 5.8.0 works okay with PG CVS tip
(not much testing, but it handles a simple plperl function).  Could you
see whether 5.8.0 plays any nicer on your setup?
        regards, tom lane


Re: PL/Perl?

From
Larry Rosenman
Date:
On Wed, 2002-09-04 at 17:54, Tom Lane wrote:
> Larry Rosenman <ler@lerctr.org> writes:
> > I upgraded PostgreSQL to 7.2.1 from a 7.2beta (yeah, I know).  One of my
> > users requested plperl, so I got it to createlang, but it SIGSEGV's on
> > any simple perl. 
> 
> I was seeing the same with perl 5.6.1 and PG 7.2.* on HPUX 10.20.
> However, I have just verified that perl 5.8.0 works okay with PG CVS tip
> (not much testing, but it handles a simple plperl function).  Could you
> see whether 5.8.0 plays any nicer on your setup?
Need to check with my user, I'll let ya know.

LER
> 
>             regards, tom lane
-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749



Re: PL/Perl?

From
Larry Rosenman
Date:
On Wed, 2002-09-04 at 19:41, Larry Rosenman wrote:
> On Wed, 2002-09-04 at 17:54, Tom Lane wrote:
> > Larry Rosenman <ler@lerctr.org> writes:
> > > I upgraded PostgreSQL to 7.2.1 from a 7.2beta (yeah, I know).  One of my
> > > users requested plperl, so I got it to createlang, but it SIGSEGV's on
> > > any simple perl. 
> > 
> > I was seeing the same with perl 5.6.1 and PG 7.2.* on HPUX 10.20.
> > However, I have just verified that perl 5.8.0 works okay with PG CVS tip
> > (not much testing, but it handles a simple plperl function).  Could you
> > see whether 5.8.0 plays any nicer on your setup?
> Need to check with my user, I'll let ya know.
> 
Well, I tried to install 5.8.0 on my 8.0.1 (beta) system, and blew cc up
with an internal compiler error.  I'll have to wait for Caldera to fix
that.  Sorry.....


-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749



Re: PL/Perl?

From
Larry Rosenman
Date:
On Thu, 2002-09-05 at 15:16, Larry Rosenman wrote:
> On Wed, 2002-09-04 at 19:41, Larry Rosenman wrote:
> > On Wed, 2002-09-04 at 17:54, Tom Lane wrote:
> > > Larry Rosenman <ler@lerctr.org> writes:
> > > > I upgraded PostgreSQL to 7.2.1 from a 7.2beta (yeah, I know).  One of my
> > > > users requested plperl, so I got it to createlang, but it SIGSEGV's on
> > > > any simple perl. 
> > > 
> > > I was seeing the same with perl 5.6.1 and PG 7.2.* on HPUX 10.20.
> > > However, I have just verified that perl 5.8.0 works okay with PG CVS tip
> > > (not much testing, but it handles a simple plperl function).  Could you
> > > see whether 5.8.0 plays any nicer on your setup?
> > Need to check with my user, I'll let ya know.
> > 
> Well, I tried to install 5.8.0 on my 8.0.1 (beta) system, and blew cc up
> with an internal compiler error.  I'll have to wait for Caldera to fix
> that.  Sorry.....
Well, this system has GCC as well, and GCC groked PERL 5.8.0, and, TA
DA, PL/PERL works with 5.8.0...

THanks all...
> 
> 
> -- 
> Larry Rosenman                     http://www.lerctr.org/~ler
> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> 
-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749



Re: PL/Perl?

From
Olivier PRENANT
Date:
Well I spent half a day and half a night, pgsql compiles ok for
me. However I'm still figuring why I have majodormo probs...

So I went back for now.

Regards
On 5 Sep 2002, Larry Rosenman wrote:

> Date: 05 Sep 2002 15:16:38 -0500
> From: Larry Rosenman <ler@lerctr.org>
> To: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org,
>      Olivier PRENANT <ohp@pyrenet.fr>
> Subject: Re: [HACKERS] PL/Perl?
> 
> On Wed, 2002-09-04 at 19:41, Larry Rosenman wrote:
> > On Wed, 2002-09-04 at 17:54, Tom Lane wrote:
> > > Larry Rosenman <ler@lerctr.org> writes:
> > > > I upgraded PostgreSQL to 7.2.1 from a 7.2beta (yeah, I know).  One of my
> > > > users requested plperl, so I got it to createlang, but it SIGSEGV's on
> > > > any simple perl. 
> > > 
> > > I was seeing the same with perl 5.6.1 and PG 7.2.* on HPUX 10.20.
> > > However, I have just verified that perl 5.8.0 works okay with PG CVS tip
> > > (not much testing, but it handles a simple plperl function).  Could you
> > > see whether 5.8.0 plays any nicer on your setup?
> > Need to check with my user, I'll let ya know.
> > 
> Well, I tried to install 5.8.0 on my 8.0.1 (beta) system, and blew cc up
> with an internal compiler error.  I'll have to wait for Caldera to fix
> that.  Sorry.....
> 
> 
> 

-- 
Olivier PRENANT             Tel:    +33-5-61-50-97-00 (Work)
Quartier d'Harraud Turrou           +33-5-61-50-97-01 (Fax)
31190 AUTERIVE                      +33-6-07-63-80-64 (GSM)
FRANCE                      Email: ohp@pyrenet.fr
------------------------------------------------------------------------------
Make your life a dream, make your dream a reality. (St Exupery)