Thread: Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Andrew Dunstan
Date:
On 06/06/2011 07:30 PM, Robert Creager wrote: > [4de65a8f.607a:1] LOG: connection received: host=[local] > [4de65a8f.607a:2] LOG: connection authorized: user=Robert database=pl_regression > [4de65a8f.607a:3] LOG: statement: CREATE OR REPLACE FUNCTION bar() RETURNS integer AS $$ > #die 'BANG!'; # causes server process to exit(2) > # alternative - causes server process to exit(255) > spi_exec_query("invalid sql statement"); > $$ language plperl; > > I'll leave it running tonight (going home), so I can poke tomorrow if anyone wants me to. > > That's weird. Why it should hang there I have no idea. Did it hang at the same spot both times? Can you get a backtrace? cheers andrew
Re: Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Tom Lane
Date:
Andrew Dunstan <andrew@dunslane.net> writes: > On 06/06/2011 07:30 PM, Robert Creager wrote: >> [4de65a8f.607a:3] LOG: statement: CREATE OR REPLACE FUNCTION bar() RETURNS integer AS $$ >> #die 'BANG!'; # causes server process to exit(2) >> # alternative - causes server process to exit(255) >> spi_exec_query("invalid sql statement"); >> $$ language plperl; >> >> I'll leave it running tonight (going home), so I can poke tomorrow if anyone wants me to. > That's weird. Why it should hang there I have no idea. Did it hang at > the same spot both times? Can you get a backtrace? You sure it's hung on that statement, and not the following one? The following one would be trying to load plperlu into a backend already using plperl, which is an area that it wouldn't exactly be surprising to find platform-dependent issues in. regards, tom lane
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Robert Creager
Date:
On Jun 6, 2011, at 7:29 PM, Andrew Dunstan <andrew@dunslane.net> wrote:
On 06/06/2011 07:30 PM, Robert Creager wrote:[4de65a8f.607a:1] LOG: connection received: host=[local][4de65a8f.607a:2] LOG: connection authorized: user=Robert database=pl_regression[4de65a8f.607a:3] LOG: statement: CREATE OR REPLACE FUNCTION bar() RETURNS integer AS $$#die 'BANG!'; # causes server process to exit(2)# alternative - causes server process to exit(255)spi_exec_query("invalid sql statement");$$ language plperl;I'll leave it running tonight (going home), so I can poke tomorrow if anyone wants me to.
That's weird. Why it should hang there I have no idea. Did it hang at the same spot both times? Can you get a backtrace?
I think so, but I didn't pay much attention :-(
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ...... done
Attaching to program: `/Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/inst/bin/postgres', process 24698.
Reading symbols for shared libraries .+++++......... done
0x0000000100a505e4 in Perl_get_hash_seed ()
(gdb) bt
#0 0x0000000100a505e4 in Perl_get_hash_seed ()
#1 0x0000000100a69b94 in perl_parse ()
#2 0x00000001007bb680 in plperl_init_interp () at plperl.c:781
#3 0x00000001007bc17a in _PG_init () at plperl.c:443
#4 0x0000000100301da6 in internal_load_library (libname=0x10100d540 "/Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/inst/lib/postgresql/plperl.so") at dfmgr.c:284
#5 0x00000001003026f5 in load_external_function (filename=<value temporarily unavailable, due to optimizations>, funcname=0x10100d508 "plperl_validator", signalNotFound=1 '\001', filehandle=0x7fff5fbfd3b8) at dfmgr.c:113
#6 0x0000000100304c10 in fmgr_info_C_lang [inlined] () at /Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/pgsql.2569/src/backend/utils/fmgr/fmgr.c:349
#7 0x0000000100304c10 in fmgr_info_cxt_security (functionId=41321, finfo=0x7fff5fbfd410, mcxt=<value temporarily unavailable, due to optimizations>, ignore_security=<value temporarily unavailable, due to optimizations>) at fmgr.c:280
#8 0x0000000100305e00 in OidFunctionCall1Coll (functionId=<value temporarily unavailable, due to optimizations>, collation=0, arg1=41426) at fmgr.c:1585
#9 0x000000010009e493 in ProcedureCreate (procedureName=0x101006550 "bar", procNamespace=2200, replace=1 '\001', returnsSet=0 '\0', returnType=23, languageObjectId=41322, languageValidator=41321, prosrc=0x101006748 "\n #die 'BANG!'; # causes server process to exit(2)\n # alternative - causes server process to exit(255)\n spi_exec_query(\"invalid sql statement\");\n", probin=0x0, isAgg=0 '\0', isWindowFunc=0 '\0', security_definer=0 '\0', isStrict=0 '\0', volatility=118 'v', parameterTypes=0x10100d7d8, allParameterTypes=0, parameterModes=0, parameterNames=0, parameterDefaults=0x0, proconfig=0, procost=100, prorows=0) at pg_proc.c:652
#10 0x00000001001046be in CreateFunction (stmt=0x101006a48, queryString=0x101005a38 "CREATE OR REPLACE FUNCTION bar() RETURNS integer AS $$\n #die 'BANG!'; # causes server process to exit(2)\n # alternative - causes server process to exit(255)\n spi_exec_query(\"invalid sql state"...) at functioncmds.c:942
#11 0x000000010023633b in MemoryContextSwitchTo [inlined] () at /Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/pgsql.2569/src/include/utils/palloc.h:1184
#12 0x000000010023633b in PortalRunUtility (portal=0x101027238, utilityStmt=0x101006a48, isTopLevel=<value temporarily unavailable, due to optimizations>, dest=0x101006df0, completionTag=0x7fff5fbfdea0 "") at pquery.c:1192
#13 0x0000000100237af5 in PortalRunMulti (portal=0x101027238, isTopLevel=<value temporarily unavailable, due to optimizations>, dest=0x101006df0, altdest=0x101006df0, completionTag=0x7fff5fbfdea0 "") at pquery.c:1315
#14 0x00000001002384a8 in PortalRun (portal=0x101027238, count=9223372036854775807, isTopLevel=<value temporarily unavailable, due to optimizations>, dest=0x101006df0, altdest=0x101006df0, completionTag=0x7fff5fbfdea0 "") at pquery.c:813
#15 0x000000010023445d in exec_simple_query (query_string=0x101005a38 "CREATE OR REPLACE FUNCTION bar() RETURNS integer AS $$\n #die 'BANG!'; # causes server process to exit(2)\n # alternative - causes server process to exit(255)\n spi_exec_query(\"invalid sql state"...) at postgres.c:1018
#16 0x0000000100235021 in PostgresMain (argc=2, argv=<value temporarily unavailable, due to optimizations>, username=<value temporarily unavailable, due to optimizations>) at postgres.c:3924
#17 0x00000001001e845c in ServerLoop () at postmaster.c:3600
#18 0x00000001001e93c1 in PostmasterMain (argc=3, argv=0x100800680) at postmaster.c:1115
#19 0x000000010017c4f5 in main (argc=3, argv=0x100800680) at main.c:199
(gdb) quit
The program is running. Quit anyway (and detach it)? (y or n) Detaching from program: `/Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/inst/bin/postgres', process 24698.
Re: Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Andrew Dunstan
Date:
On 06/07/2011 12:35 AM, Tom Lane wrote: > Andrew Dunstan<andrew@dunslane.net> writes: >> On 06/06/2011 07:30 PM, Robert Creager wrote: >>> [4de65a8f.607a:3] LOG: statement: CREATE OR REPLACE FUNCTION bar() RETURNS integer AS $$ >>> #die 'BANG!'; # causes server process to exit(2) >>> # alternative - causes server process to exit(255) >>> spi_exec_query("invalid sql statement"); >>> $$ language plperl; >>> >>> I'll leave it running tonight (going home), so I can poke tomorrow if anyone wants me to. >> That's weird. Why it should hang there I have no idea. Did it hang at >> the same spot both times? Can you get a backtrace? > You sure it's hung on that statement, and not the following one? > The following one would be trying to load plperlu into a backend > already using plperl, which is an area that it wouldn't exactly > be surprising to find platform-dependent issues in. > > That's true, but he has log_statement = all, so the statement should be logged before it's executed. And the stack trace he's sent shows that's the statement being executed. It seems to be hung in Perl_get_hash_seed(). cheers andrew
Re: Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Tom Lane
Date:
Andrew Dunstan <andrew@dunslane.net> writes: > On 06/07/2011 12:35 AM, Tom Lane wrote: >> You sure it's hung on that statement, and not the following one? >> The following one would be trying to load plperlu into a backend >> already using plperl, which is an area that it wouldn't exactly >> be surprising to find platform-dependent issues in. > That's true, but he has log_statement = all, so the statement should be > logged before it's executed. And the stack trace he's sent shows that's > the statement being executed. Yeah, the stack trace destroyed that theory. > It seems to be hung in Perl_get_hash_seed(). Which is not our code, of course. Who wants to dig into perl guts? regards, tom lane
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Alex Hunsaker
Date:
On Mon, Jun 6, 2011 at 21:16, Robert Creager <Robert.Creager@oracle.com> wrote: > That's weird. Why it should hang there I have no idea. Did it hang at the > same spot both times? Can you get a backtrace? > > I think so, but I didn't pay much attention :-( > GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:52:12 UTC > 2011) > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "x86_64-apple-darwin"...Reading symbols for > shared libraries ...... done > > Attaching to program: `/Volumes/High > Usage/usr/local/src/build-farm-4.4/builds/HEAD/inst/bin/postgres', process > 24698. > Reading symbols for shared libraries .+++++......... done > 0x0000000100a505e4 in Perl_get_hash_seed () > (gdb) bt > #0 0x0000000100a505e4 in Perl_get_hash_seed () > #1 0x0000000100a69b94 in perl_parse () Perl_get_hash_seed is basically: Perl_get_hash_seed { char *s = getenv("PERL_HASH_SEED"); unsigned long myseed = 0; if(s) { .... myseed = atoul(s); } srand(Perl_seed()); myseed = rand() * UV_MAX; return myseed; } U32 Perl_seed() { U32 u; struct timeval when; ... open(fd, "/dev/urandom"...) read(fd, &u, sizeof(u)); gettimeofday(&when, NULL); u = when[0] + SEED_C2 * when[1]; u += getpid(); u += PTR2UV(PL_stack_sp); return u; } I don't suppose /dev/urandom blocks on OS X? Granted, I may have missed something in translation with the macro fest that is perl...
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Andrew Dunstan
Date:
On 06/07/2011 01:18 PM, Alex Hunsaker wrote: > > I don't suppose /dev/urandom blocks on OS X? Granted, I may have > missed something in translation with the macro fest that is perl... I wondered if we were possibly exhausting some entropy pool. It seems like this would be just such a bad bug that it would be amazing if we were the first to trip up on it. But I guess you never know. cheers andrew
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Andres Freund
Date:
On Tuesday, June 07, 2011 19:40:21 Andrew Dunstan wrote: > On 06/07/2011 01:18 PM, Alex Hunsaker wrote: > > I don't suppose /dev/urandom blocks on OS X? Granted, I may have > > missed something in translation with the macro fest that is perl... > > I wondered if we were possibly exhausting some entropy pool. It seems > like this would be just such a bad bug that it would be amazing if we > were the first to trip up on it. But I guess you never know. Shouldn't the backtrace show a syscall in that case? I guess one would need a debug perl build + single stepping for a more convincing answer... Andres
Alex Hunsaker <badalex@gmail.com> writes: > On Mon, Jun 6, 2011 at 21:16, Robert Creager <Robert.Creager@oracle.com> wrote: >> (gdb) bt >> #0 0x0000000100a505e4 in Perl_get_hash_seed () >> #1 0x0000000100a69b94 in perl_parse () > I don't suppose /dev/urandom blocks on OS X? The man page for it avers not, and besides it's hard to believe that there wouldn't be a libc routine or two on the stack if we were blocked in a kernel call, and also Robert showed that the process was consuming CPU time, so it's not blocked. Tis puzzling if there's no loop in the function. regards, tom lane
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Christopher Browne
Date:
On Tue, Jun 7, 2011 at 5:40 PM, Andrew Dunstan <andrew@dunslane.net> wrote: > > > On 06/07/2011 01:18 PM, Alex Hunsaker wrote: >> >> I don't suppose /dev/urandom blocks on OS X? Granted, I may have >> missed something in translation with the macro fest that is perl... > > > I wondered if we were possibly exhausting some entropy pool. It seems like > this would be just such a bad bug that it would be amazing if we were the > first to trip up on it. But I guess you never know. /dev/urandom is the one that's supposed to be "unblocking" (that's what the "u" is for). Supposedly, /dev/random and /dev/urandom behave identically on OS-X, using Yarrow for RNG. It shouldn't be blocking. http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man4/urandom.4.html -- When confronted by a difficult problem, solve it by reducing it to the question, "How would the Lone Ranger handle this?"
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Alex Hunsaker
Date:
On Tue, Jun 7, 2011 at 11:48, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Alex Hunsaker <badalex@gmail.com> writes: >> On Mon, Jun 6, 2011 at 21:16, Robert Creager <Robert.Creager@oracle.com> wrote: >>> (gdb) bt >>> #0 0x0000000100a505e4 in Perl_get_hash_seed () >>> #1 0x0000000100a69b94 in perl_parse () > >> I don't suppose /dev/urandom blocks on OS X? > > The man page for it avers not, and besides it's hard to believe that > there wouldn't be a libc routine or two on the stack if we were blocked > in a kernel call, Yeah. > and also Robert showed that the process was consuming > CPU time, so it's not blocked. Tis puzzling if there's no loop in the > function. Well there is one, I snipped it out for brevity (I don't see how it could be at fault): const char *s = PerlEnv_getenv("PERL_HASH_SEED"); if (s) while (isSPACE(*s)) s++; if (s && isDIGIT(*s)) myseed = (UV)Atoul(s); else { srand(Perl_seed()); myseed = rand() *UV_MAX; .... } Im looking at the "raw" perl 5.10.0 source... I wonder if apple is shipping a modified version?
Alex Hunsaker <badalex@gmail.com> writes: > Im looking at the "raw" perl 5.10.0 source... I wonder if apple is > shipping a modified version? You could find out by digging around at http://www.opensource.apple.com/ polecat appears to be running OSX 10.6.7, so this is what you want: http://www.opensource.apple.com/tarballs/perl/perl-63.tar.gz Another question worth asking here is whether PG is picking up perl 5.10.0 or 5.8.9, both of which are shipped in this OSX release. regards, tom lane
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Alex Hunsaker
Date:
On Tue, Jun 7, 2011 at 12:22, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Alex Hunsaker <badalex@gmail.com> writes: >> Im looking at the "raw" perl 5.10.0 source... I wonder if apple is >> shipping a modified version? > > You could find out by digging around at > http://www.opensource.apple.com/ > polecat appears to be running OSX 10.6.7, so this is what you want: > http://www.opensource.apple.com/tarballs/perl/perl-63.tar.gz Thanks! > Another question worth asking here is whether PG is picking up perl > 5.10.0 or 5.8.9, both of which are shipped in this OSX release. I was looking at http://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=polecat&dt=2011-06-07%2015%3A23%3A34&stg=config which seems to point at 5.10.0. Robert: perl -V might be useful
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Andrew Dunstan
Date:
On 06/07/2011 02:22 PM, Tom Lane wrote: > Alex Hunsaker<badalex@gmail.com> writes: >> Im looking at the "raw" perl 5.10.0 source... I wonder if apple is >> shipping a modified version? > You could find out by digging around at > http://www.opensource.apple.com/ > polecat appears to be running OSX 10.6.7, so this is what you want: > http://www.opensource.apple.com/tarballs/perl/perl-63.tar.gz > > Another question worth asking here is whether PG is picking up perl > 5.10.0 or 5.8.9, both of which are shipped in this OSX release. configure: using perl 5.10.0 cheers andrew
Robert Creager <Robert.Creager@Oracle.com> writes: >>> Another question worth asking here is whether PG is picking up perl >>> 5.10.0 or 5.8.9, both of which are shipped in this OSX release. > Hmm... This might be a problem: > which perl > /opt/local/bin/perl > type -a perl > /opt/local/bin/perl > /usr/bin/perl > /opt/local/bin/perl -V > This is perl, v5.8.9 built for darwin-2level The configure log mentioned upthread says it's finding /usr/bin/perl, so apparently the buildfarm is running with a different PATH than you're using here. But that log also shows configure:7158: checking for flags to link embedded Perl configure:7174: result: -L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE -lperl -ldl -lm-lutil -lc If there's anything perl-related in /usr/local/lib (not /opt/local/lib), that could be confusing matters. regards, tom lane
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Alvaro Herrera
Date:
Excerpts from Tom Lane's message of mar jun 07 14:22:13 -0400 2011: > Alex Hunsaker <badalex@gmail.com> writes: > > Im looking at the "raw" perl 5.10.0 source... I wonder if apple is > > shipping a modified version? > > You could find out by digging around at > http://www.opensource.apple.com/ > polecat appears to be running OSX 10.6.7, so this is what you want: > http://www.opensource.apple.com/tarballs/perl/perl-63.tar.gz > > Another question worth asking here is whether PG is picking up perl > 5.10.0 or 5.8.9, both of which are shipped in this OSX release. Another question is whether this environment variable is set at all. -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Robert Creager <Robert.Creager@Oracle.com> writes: > On Jun 7, 2011, at 3:01 PM, Tom Lane wrote: >> Robert Creager <Robert.Creager@Oracle.com> writes: >> configure:7158: checking for flags to link embedded Perl >> configure:7174: result: -L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE -lperl -ldl -lm-lutil -lc >> >> If there's anything perl-related in /usr/local/lib (not /opt/local/lib), >> that could be confusing matters. > That's what I get for doing this in a meeting, doing both poorly. > run_build.pl: > #!/usr/bin/perl > No perl in /usr/local/lib. Hrmph. FWIW, I see the same configure results on my own Macbook Pro: configure:7158: checking for flags to link embedded Perl configure:7174: result: -L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE -lperl -ldl -lm-lutil -lc But I tried "make installcheck" in plperl quite a few times with no problems. (And yes, I tried some assorted settings of PERL_HASH_SEED, as well as none at all.) At this point I'm thinking that the perl you've got in /opt/local must be bollixing the works somehow, though it's not clear how. It's also really strange that it evidently only fails some of the time ... regards, tom lane
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Robert Creager
Date:
On Jun 7, 2011, at 12:42 PM, Alex Hunsaker <badalex@gmail.com> wrote:
On Tue, Jun 7, 2011 at 12:22, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Alex Hunsaker <badalex@gmail.com> writes:
Im looking at the "raw" perl 5.10.0 source... I wonder if apple is
shipping a modified version?
You could find out by digging around at
http://www.opensource.apple.com/
polecat appears to be running OSX 10.6.7, so this is what you want:
http://www.opensource.apple.com/tarballs/perl/perl-63.tar.gz
Thanks!
Another question worth asking here is whether PG is picking up perl
5.10.0 or 5.8.9, both of which are shipped in this OSX release.
I was looking at
http://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=polecat&dt=2011-06-07%2015%3A23%3A34&stg=config
which seems to point at 5.10.0.
Robert: perl -V might be useful
Hmm... This might be a problem:
which perl
/opt/local/bin/perl
type -a perl
/opt/local/bin/perl
/usr/bin/perl
This is perl, v5.8.9 built for darwin-2level
Copyright 1987-2008, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
/usr/bin/perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=darwin, osvers=10.0, archname=darwin-thread-multi-2level
uname='darwin neige.apple.com 10.0 darwin kernel version 10.0.0d8: tue may 5 19:29:59 pdt 2009; root:xnu-1437.2~2release_i386 i386 '
config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe -Dldflags= -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none -Dcc=gcc-4.2'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc-4.2', ccflags ='-arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include',
optimize='-Os',
cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='4.2.1 (Apple Inc. build 5646)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc-4.2 -mmacosx-version-min=10.6', ldflags ='-arch x86_64 -arch i386 -arch ppc -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lutil -lc
perllibs=-ldl -lm -lutil -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-arch x86_64 -arch i386 -arch ppc -bundle -undefined dynamic_lookup -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API
Locally applied patches:
/Library/Perl/Updates/<version> comes before system perl directories
installprivlib and installarchlib points to the Updates directory
Built under darwin
Compiled at Jun 24 2009 00:35:27
@INC:
/Library/Perl/Updates/5.10.0/darwin-thread-multi-2level
/Library/Perl/Updates/5.10.0
/System/Library/Perl/5.10.0/darwin-thread-multi-2level
/System/Library/Perl/5.10.0
/Library/Perl/5.10.0/darwin-thread-multi-2level
/Library/Perl/5.10.0
/Network/Library/Perl/5.10.0/darwin-thread-multi-2level
/Network/Library/Perl/5.10.0
/Network/Library/Perl
/System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.10.0
.
Platform:
osname=darwin, osvers=10.0, archname=darwin-thread-multi-2level
uname='darwin neige.apple.com 10.0 darwin kernel version 10.0.0d8: tue may 5 19:29:59 pdt 2009; root:xnu-1437.2~2release_i386 i386 '
config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe -Dldflags= -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none -Dcc=gcc-4.2'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc-4.2', ccflags ='-arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include',
optimize='-Os',
cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='4.2.1 (Apple Inc. build 5646)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='gcc-4.2 -mmacosx-version-min=10.6', ldflags ='-arch x86_64 -arch i386 -arch ppc -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lutil -lc
perllibs=-ldl -lm -lutil -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-arch x86_64 -arch i386 -arch ppc -bundle -undefined dynamic_lookup -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API
Locally applied patches:
/Library/Perl/Updates/<version> comes before system perl directories
installprivlib and installarchlib points to the Updates directory
Built under darwin
Compiled at Jun 24 2009 00:35:27
@INC:
/Library/Perl/Updates/5.10.0/darwin-thread-multi-2level
/Library/Perl/Updates/5.10.0
/System/Library/Perl/5.10.0/darwin-thread-multi-2level
/System/Library/Perl/5.10.0
/Library/Perl/5.10.0/darwin-thread-multi-2level
/Library/Perl/5.10.0
/Network/Library/Perl/5.10.0/darwin-thread-multi-2level
/Network/Library/Perl/5.10.0
/Network/Library/Perl
/System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.10.0
.
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Robert Creager
Date:
On Jun 7, 2011, at 3:01 PM, Tom Lane wrote: > Robert Creager <Robert.Creager@Oracle.com> writes: > > The configure log mentioned upthread says it's finding /usr/bin/perl, > so apparently the buildfarm is running with a different PATH than you're > using here. But that log also shows > > configure:7158: checking for flags to link embedded Perl > configure:7174: result: -L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE -lperl -ldl -lm-lutil -lc > > If there's anything perl-related in /usr/local/lib (not /opt/local/lib), > that could be confusing matters. That's what I get for doing this in a meeting, doing both poorly. run_build.pl: #!/usr/bin/perl No perl in /usr/local/lib. Rob -- Robert Creager, Principal Software Engineer Oracle Server Technologies 500 Eldorado Blvd, Bldg 5 Broomfield, CO, 80021 Phone: 303-272-6830 Email: Robert.Creager@Oracle.com Oracle is committed to developing practices and products that help protect the environment
Attachment
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Alex Hunsaker
Date:
On Tue, Jun 7, 2011 at 12:42, Alex Hunsaker <badalex@gmail.com> wrote: > On Tue, Jun 7, 2011 at 12:22, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Alex Hunsaker <badalex@gmail.com> writes: >>> Im looking at the "raw" perl 5.10.0 source... I wonder if apple is >>> shipping a modified version? >> >> You could find out by digging around at >> http://www.opensource.apple.com/ >> polecat appears to be running OSX 10.6.7, so this is what you want: >> http://www.opensource.apple.com/tarballs/perl/perl-63.tar.gz > > Thanks! Hrm they don't seem to touch util.c where PL_get_hash_seed lives at all :-(. I also looked at 5.8.9 and Perl_get_hash_seed looks the same as in 5.10.0.
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Robert Creager
Date:
On Jun 7, 2011, at 11:32 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
But I tried "make installcheck" in plperl quite a few times with no
problems. (And yes, I tried some assorted settings of PERL_HASH_SEED,
as well as none at all.)
At this point I'm thinking that the perl you've got in /opt/local must
be bollixing the works somehow, though it's not clear how. It's also
really strange that it evidently only fails some of the time ...
I've renamed /opt/local so it's not picked up, and change HEAD to build every 6 hours. Won't prove it doesn't happen though... If it appears to work for a bit, I can move /opt/local back and see what happens.
I'll see about setting up my iMac at home for the build farm for another Apple machine.
Anything you'd like to change, or run, or something else?
Later,
Rob
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Robert Creager
Date:
On Jun 8, 2011, at 9:13 AM, Robert Creager wrote:
I've renamed /opt/local so it's not picked up, and change HEAD to build every 6 hours. Won't prove it doesn't happen though... If it appears to work for a bit, I can move /opt/local back and see what happens.
Gack. ccache is in /opt/local/bin... I've reverted for now, keep the 6 hour force build, and will re-work my config and put ccache somewhere else.
Sigh,
Rob
--
Robert Creager, Principal Software Engineer
Oracle Server Technologies
500 Eldorado Blvd, Bldg 5
Broomfield, CO, 80021
Phone: 303-272-6830
Email: Robert.Creager@Oracle.com
Attachment
Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
From
Robert Creager
Date:
Got another one (no env since the last changes). I'll try and run the "kept" install from when I killed 22853 (had to use-9) to see if it reproduces the problem with the same binaries. Is there interest in me removing the perl in /opt/local/bin/perl? I can install ccache elsewhere and rename that directory. 502 310 1 0 0:00.09 ?? 0:00.14 /Library/PostgreSQL/8.3/bin/postgres -D /Library/PostgreSQL/8.3/data 502 313 310 0 0:00.36 ?? 0:00.51 postgres: logger process 502 315 310 0 0:01.10 ?? 0:02.43 postgres: writer process 502 316 310 0 0:01.03 ?? 0:01.62 postgres: wal writer process 502 317 310 0 0:00.28 ?? 0:00.40 postgres: autovacuum launcher process 502 318 310 0 0:00.29 ?? 0:00.33 postgres: stats collector process 501 22813 1 0 0:00.29 ?? 0:00.38 /Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/inst/bin/postgres-D data-C 501 22815 22813 0 0:00.57 ?? 0:01.31 postgres: writer process 501 22816 22813 0 0:00.53 ?? 0:00.85 postgres: wal writer process 501 22817 22813 0 0:00.28 ?? 0:00.65 postgres: autovacuum launcher process 501 22818 22813 0 0:01.19 ?? 0:01.47 postgres: stats collector process 501 22853 22813 0 78:13.79 ?? 89:26.32 postgres: Robert pl_regression [local] CREATE FUNCTION Robert:/usr/local/src/build-farm-4.4/builds/HEAD % gdb inst/bin/postgres 22853 GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:52:12 UTC 2011) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ...... done /Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/22853: No such file or directory Attaching to program: `/Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/inst/bin/postgres', process 22853. Reading symbols for shared libraries .+++++......... done 0x0000000100a505e4 in Perl_get_hash_seed () (gdb) bt #0 0x0000000100a505e4 in Perl_get_hash_seed () #1 0x0000000100a69b94 in perl_parse () #2 0x00000001007c0680 in plperl_init_interp () at plperl.c:781 #3 0x00000001007c117a in _PG_init () at plperl.c:443 #4 0x0000000100304396 in internal_load_library (libname=0x10100d540 "/Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/inst/lib/postgresql/plperl.so")at dfmgr.c:284 #5 0x0000000100304ce5 in load_external_function (filename=<value temporarily unavailable, due to optimizations>, funcname=0x10100d508"plperl_validator", signalNotFound=1 '\001', filehandle=0x7fff5fbfd3b8) at dfmgr.c:113 #6 0x0000000100307200 in fmgr_info_C_lang [inlined] () at /Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/pgsql.4091/src/backend/utils/fmgr/fmgr.c:349 #7 0x0000000100307200 in fmgr_info_cxt_security (functionId=41362, finfo=0x7fff5fbfd410, mcxt=<value temporarily unavailable,due to optimizations>, ignore_security=<value temporarily unavailable, due to optimizations>) at fmgr.c:280 #8 0x00000001003083f0 in OidFunctionCall1Coll (functionId=<value temporarily unavailable, due to optimizations>, collation=0,arg1=41430) at fmgr.c:1585 #9 0x000000010009f58d in ProcedureCreate (procedureName=0x1010064d0 "perl_elog", procNamespace=2200, replace=1 '\001', returnsSet=0'\0', returnType=2278, languageObjectId=41363, languageValidator=41362, prosrc=0x101006958 "\n\n my $msg = shift;\n elog(NOTICE,$msg);\n\n", probin=0x0, isAgg=0 '\0', isWindowFunc=0 '\0', security_definer=0 '\0', isStrict=0 '\0',volatility=118 'v', parameterTypes=0x10100d7d8, allParameterTypes=0, parameterModes=0, parameterNames=0, parameterDefaults=0x0,proconfig=0, procost=100, prorows=0) at pg_proc.c:653 #10 0x0000000100105aae in CreateFunction (stmt=0x101006ab8, queryString=0x101005a38 "create or replace function perl_elog(text)returns void language plperl as $$\n\n my $msg = shift;\n elog(NOTICE,$msg);\n\n$$;") at functioncmds.c:942 #11 0x000000010023839b in MemoryContextSwitchTo [inlined] () at /Volumes/High Usage/usr/local/src/build-farm-4.4/builds/HEAD/pgsql.4091/src/include/utils/palloc.h:1184 #12 0x000000010023839b in PortalRunUtility (portal=0x101027238, utilityStmt=0x101006ab8, isTopLevel=<value temporarily unavailable,due to optimizations>, dest=0x101006e60, completionTag=0x7fff5fbfdea0 "") at pquery.c:1192 #13 0x0000000100239b55 in PortalRunMulti (portal=0x101027238, isTopLevel=<value temporarily unavailable, due to optimizations>,dest=0x101006e60, altdest=0x101006e60, completionTag=0x7fff5fbfdea0 "") at pquery.c:1315 #14 0x000000010023a508 in PortalRun (portal=0x101027238, count=9223372036854775807, isTopLevel=<value temporarily unavailable,due to optimizations>, dest=0x101006e60, altdest=0x101006e60, completionTag=0x7fff5fbfdea0 "") at pquery.c:813 #15 0x00000001002364bd in exec_simple_query (query_string=0x101005a38 "create or replace function perl_elog(text) returnsvoid language plperl as $$\n\n my $msg = shift;\n elog(NOTICE,$msg);\n\n$$;") at postgres.c:1018 #16 0x0000000100237081 in PostgresMain (argc=2, argv=<value temporarily unavailable, due to optimizations>, username=<valuetemporarily unavailable, due to optimizations>) at postgres.c:3924 #17 0x00000001001e9bbc in ServerLoop () at postmaster.c:3605 #18 0x00000001001eab37 in PostmasterMain (argc=3, argv=0x100800680) at postmaster.c:1120 #19 0x000000010017db45 in main (argc=3, argv=0x100800680) at main.c:199 -- Robert Creager, Principal Software Engineer Oracle Server Technologies 500 Eldorado Blvd, Bldg 5 Broomfield, CO, 80021 Phone: 303-272-6830 Email: Robert.Creager@Oracle.com Oracle is committed to developing practices and products that help protect the environment