Karl DeBisschop <kdebisschop@range.infoplease.com> writes:
> (gdb) bt
> #0 exit (status=0) at exit.c:40
> #1 0x80d6694 in proc_exit ()
> #2 0x81075ef in elog ()
> #3 0x80775f6 in _bt_buildadd ()
> #4 0x80777ea in _bt_merge ()
> #5 0x8077af5 in _bt_leafbuild ()
> #6 0x807340d in btbuild ()
So the darn thing *is* doing an elog(FATAL) ! If you look at
bt_buildadd (in backend/access/nbtree/nbtsort.c) there are two
calls to elog:
elog(FATAL, "btree: failed to add item to the page in _bt_sort (1)");
elog(FATAL, "btree: failed to add item to the page in _bt_sort (2)");
If you'd built the backend with -g then we'd know which one this
is, but at this point it probably doesn't matter much.
OK, now we have two questions: (1) why is it failing, and (2) why
isn't the elog message showing up in your postmaster log? (You
may also be wondering (3) why isn't psql reporting the elog message,
but that one is a known bug in 6.5.* libpq --- it forgets to
report pending ERROR messages if it sees a backend disconnect.
The message ought to have made it to your postmaster log, though.)
I have to go do some real work right now :-(, but this needs looking
into.
regards, tom lane