Hi,
On 2018-07-21 23:14:47 +0300, Darafei "Komяpa" Praliaskouski wrote:
> Today I spent some time closing PostGIS tickets in preparation to Monday's
> release.
>
> One of the blockers, https://trac.osgeo.org/postgis/ticket/4125, was filed
> by Postgres APT repository maintainer Christoph Berg who noticed a test
> suite failure on Debian Stretch with Postgres 11.
>
> Upon investigation we found:
> - A build for Ubuntu Bionic installed on Debian Stretch passes the suite,
> requiring llvm6;
> - A build for Debian Stretch fails the suite on a call to external library
> GEOS, showing no traces of JIT in the stacktrace;
> - Setting jit=off lets the suite pass;
> - The query called in clean session by itself does not crash Postgres.
> Queries above it are required to reproduce the crash;
> - The crash affects not only Stretch, but customly collected Postgres 11 /
> clang 3.9 on Travis CI running Ubuntu Trusty:
> https://github.com/postgis/postgis/pull/262.
>
> I suspect that a fix would require to bisect llvm/clang version which stops
> showing this behavior and making it a new minimum for JIT, if this is not a
> symptom of bigger (memory management?) problem.
It looks to me like it's a LLVM issue, specifically https://bugs.llvm.org/show_bug.cgi?id=34424
fixed in LLVM 5+.
It'll only be an issue for extensions that throw c++ style exceptions. I
don't think that rises to the level of disallowing any LLVM version <
5.0. I suggest postgis adds an error check to its buildprocess that
refuses to run if jit is enabled and a too old version is used?
Greetings,
Andres Freund