The following bug has been logged on the website: Bug reference: 7968 Logged by: Mitchell Perilstein Email address: mperilst...@trueposition.com PostgreSQL version: 9.1.5 Operating system: SPARC Solaris 10 Description:
Summary: A perl DBI/DBD client makes a connect() call to a db server in down or restarting state and coredumps. There was a similar stack trace reported in 2011 but not exactly. I can probably reproduce this more succinctly with a testcase if needed. This code (part of Bucardo) was the call: $dbh = DBI->connect ( $dsn, $user, $pass, {AutoCommit=>0, RaiseError=>1, PrintError=>0} ); The perl caller logs this and crashes: DBI connect('dbname=TPLocationGateway;port=5432;host=tplocalvirt','tpadmin',...) failed: FATAL: database "TPLocationGateway" does not exist at /tpapp/tpdb/lib/perl5/Bucardo.pm line 4936 The Solaris coredump looks like this: # pstack core core 'core' of 18694: perl /tpapp/tpdb/bin/bucardo --log-destination=/tpdata/tpdb/logs --log fed60fb0 pg_warn (0, ae3648, 5fb0f0, 2d764, aa0f20, fed60f78) + 38 fed27174 pqGetErrorNotice3 (adb080, 11000, 0, abf545, 0, ffbfed0c) + 4fc fed260a8 pqParseInput3 (adb080, adb3f4, 4, ffbfed78, fed431ac, 282019) + 168 fed1db30 PQgetResult (adb080, adb080, 1, 2000000, 128808, fed431ac) + c4 fed726a8 handle_old_async (4bada0, a75548, 1000000, 8000000, 64, fed8e6e0) + 5c4 fed6d088 pg_st_destroy (4bada0, adcf20, 0, 217ec, fed8e6e0, a75548) + 198 fed59af8 XS_DBD__Pg__st_DESTROY (128808, 4, 803948, fed8e6e0, 2245c, 4bada0) + 304 feecec58 XS_DBI_dispatch (803948, c06a8, feeda8b0, feeec0a4, 0, 22460) + 20f0 ff2a7634 Perl_pp_entersub (c0db4, 0, ffc00000, c2538, ffbff5a0, ff348000) + 6fc ff269c2c S_call_body (ffbff5a0, 0, 3000, de41c, 529e50, ff35d978) + 54 ff2698c0 Perl_call_sv (2c00, 2c00, 3050, 26e3c, ff35b3e4, ff35b3c8) + 9cc ff2f0f8c Perl_sv_clear (8147b0, 3000, 3000, 124be0, ff348000, 41) + 280 ff2f18d0 Perl_sv_free (8147b0, ff2f0c98, 568f8, 8, 0, 8147b0) + 1d8 ff2f14a8 Perl_sv_clear (501f2c, 7d4, ff2f15a8, 0, ff348000, 3000) + 79c ff2f18d0 Perl_sv_free (501f2c, 7d4, 568f8, ff, 0, 501f2c) + 1d8 ff245628 Perl_mg_free (a5c894, ff35b398, 0, b, 2000900b, 5ffdb8) + ac ff2f121c Perl_sv_clear (a5c894, 1, 2c00, ff35d97c, ff348000, 0) + 510 ff2f18d0 Perl_sv_free (a5c894, 5fb428, 568f8, ff2e69e4, 0, a5c894) + 1d8 ff2e692c S_visit (ff2e6968, 5fb428, 5fb668, 5fb278, ff348000, 1d7) + 80 ff2e6b28 Perl_sv_clean_objs (2f80, 1, ff34b560, ff348000, 61514, 2c00) + 48 ff264c84 perl_destruct (0, 3400, 0, 1, ff35b3ec, 3400) + 2f8 00011050 main (8, ffbffaf4, 0, 22400, 22420, 22400) + b4 00010f84 _start (0, 0, 0, 0, 0, 0) + 108 # pflags core core 'core' of 18694: perl /tpapp/tpdb/bin/bucardo --log-destination=/tpdata/tpdb/logs --log data model = _ILP32 flags = MSACCT|MSFORK /1: flags = 0 sigmask = 0xffffbefc,0x0000ffff cursig = SIGSEGV Solaris (but we've seen it on similar boxes): # uname -a SunOS WilWlg1 5.10 Generic_147440-25 sun4v sparc sun4v Perl v5.8.4 : # perl -V Summary of my perl5 (revision 5 version 8 subversion 4) configuration: Platform: osname=solaris, osvers=2.10, archname=sun4-solaris-64int uname='sunos localhost 5.10 sun4u sparc SUNW,Ultra-2' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xarch=v8 -D_TS_ERRNO', optimize='-xO3 -xspace -xildoff', cppflags='' ccversion='Sun WorkShop', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags ='' libpth=/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-R /usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE' cccdlflags='-KPIC', lddlflags='-G' Characteristics of this binary (from libperl): Compile-time options: USE_64_BIT_INT USE_LARGE_FILES Locally applied patches: 22667 The optree builder was looping when constructing the ops ... 22715 Upgrade to FileCache 1.04 22733 Missing copyright in the README. 22746 fix a coredump caused by rv2gv not fully converting a PV ... 22755 Fix 29149 - another UTF8 cache bug hit by substr. 22774 [perl #28938] split could leave an array without ... 22775 [perl #29127] scalar delete of empty slice returned garbage 22776 [perl #28986] perl -e "open m" crashes Perl 22777 add test for change #22776 ("open m" crashes Perl) 22778 add test for change #22746 ([perl #29102] Crash on assign ... 22781 [perl #29340] Bizarre copy of ARRAY make sure a pad op's ... 22796 [perl #29346] Double warning for int(undef) and abs(undef) ... 22818 BOM-marked and (BOMless) UTF-16 scripts not working 22823 [perl #29581] glob() misses a lot of matches 22827 Smoke [5.9.2] 22818 FAIL(F) MSWin32 WinXP/.Net SP1 (x86/1 cpu) 22830 [perl #29637] Thread creation time is hypersensitive 22831 improve hashing algorithm for ptr tables in perl_clone: ... 22839 [perl #29790] Optimization busted: '@a = "b", sort @a' ... 22850 [PATCH] 'perl -v' fails if local_patches contains code snippets 22852 TEST needs to ignore SCM files 22886 Pod::Find should ignore SCM files and dirs 22888 Remove redundant %SIG assignments from FileCache 23006 [perl #30509] use encoding and "eq" cause memory leak 23074 Segfault using HTML::Entities 23106 Numeric comparison operators mustn't compare addresses of ... 23320 [perl #30066] Memory leak in nested shared data structures ... 23321 [perl #31459] Bug in read() 27722 perlio.c breaks on Solaris/gcc when > 256 FDs are available SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 6663288 Upgrade to CGI.pm 3.33 REGEXP0 - fix for UTF-8 recoding in regexps - CVE-2007-5116 6758953 Perl Sys::Syslog can log messages with wrong severity 6935710 patch 141552-01 causes an error when the Syslog perl module is used 6961567 CVE-2010-1168 - Safe.pm 2.24 and earlier may allow attackers to break out of safe compartment 7004391 CGI.pm needs update to filter newlines in headers (CVE-2010-2761, CVE-2010-4411) 7116936 Problem with utility/perl Built under solaris Compiled at Jan 8 2012 04:18:12 %ENV: PERL5LIB="/tpapp/tpdb/lib/perl5" @INC: /tpapp/tpdb/lib/perl5/sun4-solaris-64int /tpapp/tpdb/lib/perl5 /usr/perl5/5.8.4/lib/sun4-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/sun4-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl . Interesting Modules: DBD-Pg-2.19.3 DBI-1.623 DBIx-Safe-1.2.5 Bucardo: git version e83e2e22e79c6cf6be5912925d50e271e02a886d approximately version 4.99.6 plus a little -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs