Re: PostgreSQL 7.4RC1 crashes on Panther - Mailing list pgsql-bugs

From Tom Lane
Subject Re: PostgreSQL 7.4RC1 crashes on Panther
Date
Msg-id 24213.1068165293@sss.pgh.pa.us
Whole thread Raw
In response to PostgreSQL 7.4RC1 crashes on Panther  (Scott Goodwin <scott@scottg.net>)
List pgsql-bugs
Scott Goodwin <scott@scottg.net> writes:
> Just compiled PG 7.3.4 with GCC 3.1 on Panther and it exhibits the same
> problem, but generates a SIGSEGV instead of a SIGBUS.

I tried this on the 10.3 beta that I have (from about a month back) and
indeed I get a core dump while trying to create the pltcl call handler.

Steps to reproduce:
    configure --with-tcl --without-tk    (no tk support?)
    make, make install, make installcheck are all ok
    createlang pltcl regression
    ... kaboom ...

The stack trace looks like this:

(gdb) bt
#0  0x900f5fc0 in memcmp ()
#1  0x901c6734 in ?? ()
#2  0x8fe09c18 in __dyld_call_image_init_routines ()
#3  0x8fe11880 in __dyld_link_in_need_modules ()
#4  0x8fe134e4 in __dyld__dyld_link_module ()
#5  0x9003f5c8 in NSLinkModule ()
#6  0x00100f50 in pg_dlopen (filename=0x200d2c4 "/Users/tgl/testversion/lib/postgresql/pltcl.so") at dynloader.c:26
#7  0x001a1110 in load_external_function (filename=0xc01650 "", funcname=0x202b5a4 "pltcl_call_handler",
signalNotFound=1'\001', filehandle=0xbfffe344) at dfmgr.c:127 
#8  0x00055c6c in fmgr_c_validator (fcinfo=0x0) at pg_proc.c:639
#9  0x001a3838 in OidFunctionCall1 (functionId=0, arg1=180982) at fmgr.c:1210
#10 0x000552bc in ProcedureCreate (procedureName=0xbfffe5f0 "", procNamespace=2200, replace=0 '\0', returnsSet=0 '\0',
returnType=2280,languageObjectId=13, languageValidator=2247, prosrc=0x20234c0 "pltcl_call_handler", probin=0x20235b4
"$libdir/pltcl",isAgg=0 '\0', security_definer=0 '\0', isStrict=0 '\0', volatility=118 'v', parameterCount=0,
parameterTypes=0xbfffe710)at pg_proc.c:331 
#11 0x000880c0 in CreateFunction (stmt=0x234b3c) at functioncmds.c:515
...

But plpgsql works fine.  Also, the same code works fine in OS X 10.2.*.
Seems like either the Tcl shared library is broken in 10.3, or Apple
broke something in the dynamic linker, or our dynamic-library-loading
code is doing something that was OK with 10.2 but isn't OK with 10.3.
I guess we need to call in some OS X experts ... Marko, can you take
a look?

BTW, the failure to restart after the crash is explained here:
http://archives.postgresql.org/pgsql-hackers/2003-11/msg00321.php
I'll have that fixed for 7.4, but I dunno what to do about pltcl's
problem.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: PostgreSQL 7.4RC1 crashes on Panther
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] PostgreSQL client has problems when libbind is