In an earlier message, I said I didn't see the problem with xlc 13.1.3.  I
withdraw that statement.  I had tested old code (commit c629324, 20 Aug),
rendering the test invalid.  xlc 13.1.3 does break commit 91d5f1a, and
removing "restrict" fixes things as it did the older version.

On Thu, Oct 12, 2017 at 10:44:20PM -0400, Tom Lane wrote:
> Noah Misch <n...@leadboat.com> writes:
> > On Thu, Oct 12, 2017 at 04:08:44PM -0700, Andres Freund wrote:
> >> Noah, any chance you could force restrict to off on that animal?
> 
> > I can confirm it allows "make check" to pass.
> 
> So that leaves us with two theories:
> 
> 1. hornet's compiler contains a bug that causes it to misoptimize
> in the presence of "restrict".
> 
> 2. There's a bug in the way HEAD is applying "restrict", which happens
> not to manifest on other platforms.
> 
> While I have to agree with Andres' evident feeling that it's probably
> #1, I do not think we should dismiss #2 without inquiring a bit
> harder.  It would be really useful, I think, if we could characterize
> exactly how the RowDescription output is broken in that build.
> Noah, could you capture some of those messages somehow?

I hacked psql to call PQtrace() and ran "psql -Xc 'select true'" in the
defective configuration and in a working x64 GNU/Linux configuration.  I've
attached both PQtrace() products.
To backend> Msg Q
To backend> "select true"
To backend> Msg complete, length 17
>From backend> T
>From backend (#4)> 17
>From backend (#2)> 1
>From backend> "bool"
>From backend (#4)> 1
>From backend (#2)> 0
>From backend (#4)> 1140850688
>From backend (#2)> 2816
>From backend (#4)> 16777216
>From backend (#2)> 372
>From backend> D
>From backend (#4)> 11
>From backend> C
>From backend (#4)> 13
>From backend> "SELECT 1"
>From backend> Z
>From backend (#4)> 5
>From backend> Z
>From backend (#4)> 5
>From backend> I
To backend> Msg X
To backend> Msg complete, length 5
To backend> Msg Q
To backend> "select true"
To backend> Msg complete, length 17
>From backend> T
>From backend (#4)> 29
>From backend (#2)> 1
>From backend> "bool"
>From backend (#4)> 0
>From backend (#2)> 0
>From backend (#4)> 16
>From backend (#2)> 1
>From backend (#4)> -1
>From backend (#2)> 0
>From backend> D
>From backend (#4)> 11
>From backend (#2)> 1
>From backend (#4)> 1
>From backend (1)> t
>From backend> C
>From backend (#4)> 13
>From backend> "SELECT 1"
>From backend> Z
>From backend (#4)> 5
>From backend> Z
>From backend (#4)> 5
>From backend> I
To backend> Msg X
To backend> Msg complete, length 5
-- 
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to