Justin Pasher <justinp@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