Tom Lane wrote:
Justin Pasher <just...@newmediagateway.com> writes:
I recompiled from the Debian source package and added --enable-cassert (--enable-debug was already there). I replaced the Debian standard packages with the recompiled versions and started up the cluster. Now it is hitting a failure on one of the assert lines, and the log message is a little different. TRAP: BadArgument("!(((context) != ((void *)0) && (((((Node*)((context)))->type) == T_AllocSetContext))))", File: "mcxt.c", Line: 502)

Well, that confirms the thought that the memory context is clobbered,
but we're not any closer to understanding why.

#1  0xb7c37811 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7c38fb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0x0828cdf3 in ExceptionalCondition ()
#4  0x082a8cd2 in MemoryContextAlloc ()
#5  0x082a8d67 in MemoryContextStrdup ()
#6  0x0829749c in database_getflatfilename ()
#7  0x082974ce in database_getflatfilename ()
#8  0x08298341 in AtEOXact_UpdateFlatFiles ()
#9  0x080bcc81 in RecordTransactionCommit ()
#10 0x080bcf8f in CommitTransactionCommand ()
#11 0x081cd1eb in autovac_stopped ()
#12 0x081cdbcd in autovac_start ()
#13 0x081d4c0c in ClosePostmasterPorts ()
#14 0x081d5968 in PostmasterMain ()
#15 0x0818bd22 in main ()

... and you've seemingly not managed to install the debug symbols where
gdb can find them.

                        regards, tom lane

Dang it. I wonder why the --enable-debug option doesn't seem to actually be enabling debug. :( For reference, here is the configure command that the package uses according to the config.log (in case you spot anything wrong).

/usr/src/postgres-8.1.15/postgresql-8.1-8.1.15/build-tree/postgresql-8.1.15/configure --build=i486-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=${prefix}/lib/postgresql-8.1 --disable-maintainer-mode --disable-dependency-tracking --srcdir=. --mandir=${prefix}/share/postgresql/8.1/man --with-docdir=${prefix}/share/doc/postgresql-doc-8.1 --datadir=${prefix}/share/postgresql/8.1 --bindir=${prefix}/lib/postgresql/8.1/bin --includedir=${prefix}/include/postgresql/ --enable-nls --enable-integer-datetimes --enable-thread-safety --enable-debug --enable-cassert --disable-rpath --with-tcl --with-perl --with-python --with-pam --with-krb5 --with-openssl --with-gnu-ld --with-tclconfig=/usr/lib/tcl8.4 --with-tkconfig=/usr/lib/tk8.4 --with-includes=/usr/include/tcl8.4 --with-pgport=5432 CFLAGS=-g -Wall -O2 -fPIC LDFLAGS=-Wl,--as-needed

I'm going to try a compile from scratch from the 8.1.15 source tarball and see if I can get better results. I'll let you know (probably next week). Thanks.

Justin Pasher

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to