RE: BUG #16920: Can't compile PostGIS with MingW64 against PostgreSQL 14 head

Regina Obe <lr@pcorp.us>

From: "Regina Obe" <lr@pcorp.us>
To: "'Tom Lane'" <tgl@sss.pgh.pa.us>
Cc: 'Juan José Santamaría Flecha' <juanjo.santamaria@gmail.com>, "'PostgreSQL mailing lists'" <pgsql-bugs@lists.postgresql.org>
Date: 2021-03-12T22:50:29Z
Lists: pgsql-bugs
> "Regina Obe" <lr@pcorp.us> writes:
> > The backtrace of that looks like this:
> 
> > #0  0x00007ffe76032136 in ntdll!RtlRaiseStatus ()
> > #3  0x00000000008da31a in pg_re_throw () at elog.c:1776
> ...
> 
> > I'll go thru the other tests to see which ones are crashes and provide
> > a bt of those too if you find it useful.
> > Anyway at a glance they all seem to be on tests designed to throw an
error.
> 
> It does look suspiciously like something is broken in our attempt to
longjmp
> back to the server's outermost loop.  We had a similar report last fall,
also
> about MinGW:
> 
> https://www.postgresql.org/message-id/flat/CA%2BBEBhvHhM-Bn628pf-
> LsjqRh3Ang7qCSBG0Ga%2B7KwhGqrNUPw%40mail.gmail.com
> 
> and I don't think we ever figured out what was happening there either.
> 
> (FWIW, walleye's owners report that the failure goes away when they change
> their compiler options to more debug-friendly settings.  Hmm.)
> 
> 			regards, tom lane

What is considered a more debug-friendly setting?  

My configure looks like this:
	./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
		--build=${MINGHOST} \
		--with-pgport=8447 --enable-cassert --enable-debug \
		--with-zlib --with-libxml

If I take out the --enable-cassert switch, all tests pass and no crashers.

As far as crashers go, they all seem to be crashing at the

0x00000000008da31a in pg_re_throw () at elog.c:1776

Line
FWIW:

These are the crashers:

# CRASHERS 
copyselect - crash #3  0x00000000008da31a in pg_re_throw () at elog.c:1776
copydml - crash - copy (insert into copydml_test default values) to stdout;
#3  0x00000000008da31a in pg_re_throw () at elog.c:1776

create_index - crash 
test vacuum                       ... FAILED #crash
test transactions                 ... FAILED (test process exited with exit
code 2)      174 ms
test subscription #crash
test foreign_data                 ... FAILED (test process exited with exit
code 2)      191 ms
test jsonb_jsonpath               ... FAILED (test process exited with exit
code 2)      150 ms
test xml                          ... FAILED (test process exited with exit
code 2)      142 ms

#These ones aren't crashing but failing regression when --enable-cassert is
on

test select                       ... FAILED      102 ms 
test inherit                      ... FAILED     2024 ms 
test sanity_check				  ... FAILED 
test join                         ... FAILED      948 ms
test aggregates                   ... FAILED     6478 ms
test portals                      ... FAILED      515 ms
test arrays                       ... FAILED      261 ms
test brin                         ... FAILED      515 ms
test groupingsets                 ... FAILED      370 ms
test misc_functions               ... FAILED      302 ms
test rules                        ... FAILED     1264 ms
test psql                         ... FAILED      406 ms
test amutils                      ... FAILED       58 ms
test select_parallel              ... FAILED     1962 ms

test limit                        ... FAILED       99 ms
test alter_table                  ... FAILED     4693 ms
test rowtypes                     ... FAILED      266 ms

test stats                        ... FAILED    34207 ms


I don't think I've recompiled PG13 that recently so I wonder if my build is
too old to see the PG13 ones you linked to.  I'll try rebuilding that to see
if I see similar issues.

Thanks,
Regina









Commits

  1. Work around issues in MinGW-64's setjmp/longjmp support.