Re: [HACKERS] Core dump in regression tests. - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Core dump in regression tests.
Date
Msg-id 199809010535.BAA27142@candle.pha.pa.us
Whole thread Raw
List pgsql-hackers
>
> Bruce Momjian <maillist@candle.pha.pa.us>
> >
> > The old code in this section was somewhat mangled.
> >
> > Can I telnet into this machine?
> >
>
> I'm afraid I'm dialup only but would be willing to liase with
> you and be online for you to telnet in, if no alternative
> permanently connected system can be found.
>
> > >
> > > Program received signal SIGSEGV, Segmentation fault.
> > > 0x34264 in GetIndexValue (tuple=0x1ba810, hTupDesc=0x1ba86c, attOff=0,
> > > attrNums=0x1bd544, fInfo=0x0,
> > >     attNull=0xefffcc97 "") at indexam.c:404
> > > 404                     returnVal = heap_getattr(tuple, attrNums[attOff],
> > > (gdb) bt
> > > #0  0x34264 in GetIndexValue (tuple=0x1ba810, hTupDesc=0x1ba86c, attOff=0,
> > > attrNums=0x1bd544, fInfo=0x0,
> >
> > My guess is that hTupDesc is badly formed, not having the proper
> > attributes for the relation.  Can you do a print of *hTupDesc, and
> > attrNums[0]?
> >
>
> Breakpoint 1, GetIndexValue (tuple=0x1bc210, hTupDesc=0x1bc26c, attOff=0,
> attrNums=0x1bf944, fInfo=0x0,
>     attNull=0xefffcc97 "") at indexam.c:383
> 383             if (PointerIsValid(fInfo) && FIgetProcOid(fInfo) != InvalidOid)
> (gdb) step
> 404                     returnVal = heap_getattr(tuple, attrNums[attOff],
> (gdb) list
> 399                     pfree(attData);
> 400                     *attNull = FALSE;
> 401             }
> 402             else
> 403             {
> 404                     returnVal = heap_getattr(tuple, attrNums[attOff],
> 405
> hTupDesc, attNull);
> 406             }
> 407             return returnVal;
> 408     }
> (gdb) print tuple
> $1 = (HeapTupleData *) 0x1bc210
> (gdb) print *tuple
> $2 = {t_len = 205, t_oid = 18241, t_cmin = 0, t_cmax = 0, t_xmin = 22018, t_xmax
> = 0, t_ctid = {ip_blkid = {
>       bi_hi = 0, bi_lo = 18}, ip_posid = 31}, t_natts = 16, t_infomask = 2050,
> t_hoff = 40 '(',
>   t_bits = "\000\000\000"}
> (gdb) print attrNums[attOff]
> $3 = 15

This is a very interesting number.  It is saying that it is the prosrc
field index that it is updating.  This never used to work because of a
bug in the code for this index.  Let me look at this some more.


> (gdb) print *hTupDesc
> $5 = {natts = 0, attrs = 0x0, constr = 0x0}
> (gdb) print fInfo
> $6 = (FuncIndexInfo *) 0x0
>
> Hope this helps,
> Keith.
>
>


--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] odd pg_dump output?
Next
From: David Hartwig
Date:
Subject: Re: [HACKERS] configure problem