On Thu, Oct 01, 2020 at 09:12:53PM -0400, Tom Lane wrote:
> Mark Wong <mark@2ndquadrant.com> writes:
> > I'm getting Tom set up with access too, in case he has time before me to
> > get a stack trace to see what's happening...
>
> tl;dr: it's hard to conclude that this is anything but a compiler bug.
>
> I was able to reproduce this on shoveler's host, but only when using
> the compiler shoveler uses (clang-3.9), not the 6.3 gcc that's also
> on there and is of similar vintage. Observations:
>
> * You don't need any complicated test case; "pg_dump template1"
> is enough.
>
> * Reverting 1ed6b8956's addition of a "postfix operators are not supported
> anymore" warning to dumpOpr() makes it go away. This despite the fact
> that that code is never reached when dumping template1. (We do enter
> dumpOpr, but the oprinfo->dobj.dump test always fails.)
>
> * Reducing the optimization level to -O1 or -O0 makes it go away.
>
> * Inserting a debugging fprintf in dumpOpr makes it go away.
>
> Since clang 3.9 is several years old, maybe we could move shoveler
> up to a newer version? Or dial it down to -O1 optimization?
There is ayu, same system with clang 4.0, so covered on that front.
I went ahead and stopped the jobs to run with clang 3.9. This is also
the same system that was running clang 3.8 too. I tried looking for EOL
dates, but had trouble finding anything... But I can change the
optimization flag if we want it back.
Regards,
Mark
--
Mark Wong
2ndQuadrant - PostgreSQL Solutions for the Enterprise
https://www.2ndQuadrant.com/