Re: [HACKERS] initdb failure on Debian sid/mips64el inEventTriggerEndCompleteQuery
От | Christoph Berg |
---|---|
Тема | Re: [HACKERS] initdb failure on Debian sid/mips64el inEventTriggerEndCompleteQuery |
Дата | |
Msg-id | 20170822194033.k2qsa2v4xautfk46@msg.df7cb.de обсуждение исходный текст |
Ответ на | Re: [HACKERS] initdb failure on Debian sid/mips64el in EventTriggerEndCompleteQuery (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Re: Tom Lane 2017-08-13 <14517.1502638417@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_btext DEFAULT 'forty two') CREATE INDEX one_idx ON one (col_b) CREATE TABLE two (col_c INTEGERCHECK (col_c > 0) REFERENCES one DEFAULT 42); Hopefully the compiler gets fixed soonish on mips64el... Thanks for the analysis, Christoph
В списке pgsql-hackers по дате отправления: