[Bug 251192] databases/postgresql13-server: fix crashes related to LLVM JIT
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Nov 16 19:18:43 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=251192
Bug ID: 251192
Summary: databases/postgresql13-server: fix crashes related to
LLVM JIT
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: pgsql at FreeBSD.org
Reporter: amdmi3 at FreeBSD.org
Assignee: pgsql at FreeBSD.org
Flags: maintainer-feedback?(pgsql at FreeBSD.org)
Created attachment 219740
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=219740&action=edit
Patch
I've ran into reproducible postgresql13 crash with LLVM enabled.
Can be reproduced with the following query:
SET jit_above_cost = 0;
SET jit_inline_above_cost = 0;
SET jit_optimize_above_cost = 0;
SELECT (jsonb_array_elements('[true]'::jsonb)->>0)::boolean;
Problem summary: thread local storage access from code inlined by LLVM JIT
instantly crashes (llvm11 also reports an error about unsupported relocation).
On FreeBSD TLS accesses are quite common as functions like isspace() (used in
boolin and input functions for many other commonly used postgresql types)
involve caching of locale specific data in TLS.
Upstream bug including details, investigation and a workaround:
https://www.postgresql.org/message-id/flat/16696-29d944a33801fbfe%40postgresql.org#e010f0f56325aac5de96f8d0bb77dec0
For now, I suggest to apply the attached patch which disables inlining of
functions which access TLS. Alternative would be to disable LLVM completely and
mark it BROKEN, but IMO that'd be an overkill.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list