Re: Tom Lane 2017-08-13 <14517.1502638...@sss.pgh.pa.us> > I suspect you could work around this with > > bool isCompleteQuery = (context <= PROCESS_UTILITY_QUERY); > - bool needCleanup; > + volatile bool needCleanup; > bool commandCollected = false; > > If that fixes it, it's definitely a compiler bug. That function does > not change needCleanup after the sigsetjmp call, so per POSIX it > should not have to label the variable volatile. This is far from > being the first such bug we've seen though.
In the meantime, gcc-7 is at version 7.2.0-1, so I gave 9.6 on mips64el a new try. It's still failing at initdb time, and indeed adding "volatile" makes initdb proceed, but then the rest of the testsuite fails in various ways: DETAIL: Failed process was running: CREATE TABLE enumtest_child (parent rainbow REFERENCES enumtest_parent); DETAIL: Failed process was running: create table trigtest2 (i int references trigtest(i) on delete cascade); DETAIL: Failed process was running: CREATE TABLE trunc_b (a int REFERENCES truncate_a); DETAIL: Failed process was running: CREATE SCHEMA evttrig CREATE TABLE one (col_a SERIAL PRIMARY KEY, col_b text DEFAULT 'forty two') CREATE INDEX one_idx ON one (col_b) CREATE TABLE two (col_c INTEGER CHECK (col_c > 0) REFERENCES one DEFAULT 42); Hopefully the compiler gets fixed soonish on mips64el... Thanks for the analysis, Christoph -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers