From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Amit Langote <amitlangote09(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Computer VARSIZE_ANY(PTR) during debugging |
Date: | 2013-06-26 15:02:59 |
Message-ID: | 20130626150259.GF5940@eldon.alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Amit Langote escribió:
> The segfault in question happens at line 1141:
>
> off = att_align_pointer(off, thisatt->attalign, -1, tp + off);
>
> char *tp; /* ptr to tuple data */
> long off; /* offset in tuple data */
>
> Disassembling seems to suggest (tp + off) is the faulting address.
> Apparently, the segfault happens when 5th text column is being
> extracted from a tuple (char(n), char(n), int4, char(n), text, ...).
> Since, tp is fixed for the whole duration of loop and only off is
> subject to change over iterations, it may have happened due to wrong
> offset in this iteration.
>
> Has anything of this kind been encountered/reported before?
Yes, I vaguely recall I have seen this in cases where tuples contain
corrupt data. I think you just need the length word of the fourth datum
to be wrong.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Wanner | 2013-06-26 15:04:11 | Re: Hash partitioning. |
Previous Message | Tom Lane | 2013-06-26 14:54:16 | Re: LATERAL quals revisited |