On Wed, 9 Oct 2002, Tom Lane wrote:
> Laurette Cisneros <laurette@nextbus.com> writes:
> > A core file was found in <datadir>/base/326602604
> > and a backtrace shows:
> > (gdb) bt
> > #0 DeferredTriggerSaveEvent (relinfo=0x83335f0, event=0, oldtup=0x0,
> > newtup=0x8348150) at trigger.c:2056
>
> Hm. Line 2056 is this:
>
> for (i = 0; i < ntriggers; i++)
> {
> Trigger *trigger = &trigdesc->triggers[tgindx[i]];
>
> -> new_event->dte_item[i].dti_tgoid = trigger->tgoid;
>
> It seems there must be something wrong with the trigdesc data structure
> for that table, but what? Can you poke around in the corefile with gdb
> print commands and determine what's wrong with the trigdesc?
Here's my poking/printing around with gdb:
(gdb) print trigger
$1 = (Trigger *) 0x1272c9a0
(gdb) print *trigger
Cannot access memory at address 0x1272c9a0
(gdb) print trigger->tgoid
Cannot access memory at address 0x1272c9a0
(gdb) print trigdesc
$2 = (TriggerDesc *) 0x4c86b2d8
(gdb) print &trigdesc
$3 = (TriggerDesc **) 0xbfffea18
(gdb) print *trigdesc
$4 = {n_before_statement = {5378, 22310, 37184, 2085}, n_before_row =
{51128, 19585, 62320, 19589}, n_after_row = {45784, 19590, 52748, 2084},
n_after_statement = { 0, 0, 0, 0}, tg_before_statement = {0x4c86b2d8, 0x8259910, 0x0, 0x0}, tg_before_row = {0xa0,
0x350000,0x1f, 0x4006}, tg_after_row =
{0x8242920, 0x4c860cb0, 0x4c86eec0, 0x0}, tg_after_statement = {0x0, 0x0, 0x0,
0x0}, triggers = 0x4c86e7a0, numtriggers = 8}
>
> > I see triggers referenced here and it should be
> > noted that for one of the tables the triggers were first disabled (update
> > pg_class) and re-enabled after the inserts are done (or it takes
> > forever).
>
> Did that happen while this backend was running?
Yes. I had run this perl program about 4-5 times in a row (which includes
the sequence, disable triggers, insert rows, enable triggers) and then it
crashed on one of the runs.
Thanks,
--
Laurette Cisneros
The Database Group
(510) 420-3137
NextBus Information Systems, Inc.
www.nextbus.com
------------------------------
It's 10 o'clock...
Do you know where your bus is?