Re: Bus error in pg_logical_slot_get_changes (9.4.7, sparc)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Christoph Berg <myon(at)debian(dot)org>, PostgreSQL Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: Bus error in pg_logical_slot_get_changes (9.4.7, sparc)
Date: 2016-04-14 19:24:40
Message-ID: 15413.1460661880@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Andres Freund <andres(at)anarazel(dot)de> writes:
> On 2016-04-14 13:11:43 -0400, Tom Lane wrote:
>> Proposed patch attached, but I'm still wondering why the alignment-picky
>> buildfarm members aren't all failing on this. It seems to strongly
>> suggest that the regression tests' coverage is lacking here.

> Well, then Christoph's build wouldn't have caught the issue either?
> Coverage isn't perfect, but it's not bad:
> http://coverage.postgresql.org/src/backend/replication/logical/reorderbuffer.c.gcov.html

BTW, so far as that goes, the question is whether we ever come through
here with two tuples of which the first has a t_len that's not aligned
at least on a 4-byte boundary. gcov can't tell you that.

I put in an Assert and satisfied myself that the current tests do *not*
ever create such a case. I tried modifying the test by adding updates
that set a trailing text field to different-length strings, and still
couldn't make it happen. So something is rounding off the tuple length,
though only to sizeof(int) not to maxalign, which is very curious.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2016-04-14 22:22:42 Re: Bus error in pg_logical_slot_get_changes (9.4.7, sparc)
Previous Message Tom Lane 2016-04-14 19:18:36 Re: Bus error in pg_logical_slot_get_changes (9.4.7, sparc)