PL/Perl?
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]Perl_gv_fetchpv(presumed: 0xa7d217d8, 0x2, 0xb) [0xa7c81675]: 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]Perl_gv_fetchpv(presumed: 0xa7d217d8, 0x2, 0xb) [0xa7c81675]: 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]
[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]
[0xa7d3a711]
[6]: plperl_init_all(presumed: 0, 0x8427cb4, 0x8427a7c) [0xa7d3a689]
[7]: plperl_call_handler(presumed: 0xbfffd51c, 0x8427a7c, 0x8427cb4) [0xa7d3a778]
[0xa7d3a778]
[8]: ExecMakeFunctionResult(0x8427cb4, 0, 0x8427a7c, 0xbfffd7ab, 0xbfffd610) [0x80e813d]
0xbfffd610) [0x80e813d]
[9]: ExecEvalFunc(presumed: 0x8427834, 0x8427a7c, 0xbfffd7ab) [0x80e8276]
[0x80e8276]
[10]: ExecEvalExpr(presumed: 0x8427834, 0x8427a7c, 0xbfffd7ab) [0x80e7000]
[0x80e7000]
[11]: ExecTargetList(presumed: 0x84278b8, 0x1, 0x8427ac8) [0x80e8a83]
[0x80e8a83]
[12]: ExecProject(presumed: 0x84278d4, 0xbfffd80c, 0x842792c) [0x80e8db8]
[0x80e8db8]
[13]: ExecResult(presumed: 0x842792c, 0x84279d4, 0x84279d4) [0x80eedcc]
[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]
[0x813f354]
[19]: PostgresMain(0x4, 0xbfffdb38, 0x83cb8e9) [0x8140117]
[20]: DoBackend(0x83cb7b8, 0x8378aa8) [0x811f3e3]
[21]: BackendStartup(presumed: 0x83cb7b8, 0x8317384, 0xffff1538) [0x811eaa6]
[0x811eaa6]
[22]: ServerLoop(presumed: 0xbfffee04, 0x1f, 0x8378a10) [0x811e8aa]
[23]: PostmasterMain(presumed: 0x2, 0x8378a10, 0xbfffedf8) [0x811da7a]
[0x811da7a]
[24]: main(0x2, 0xbfffee04, 0xbfffee10) [0x80f9b58]
[25]: _start() [0x8067e6c] debug>
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
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
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
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
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
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)