Re: BUG #16696: Backend crash in llvmjit

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Palle <girgen@pingpong.net>, pgsql-bugs@postgresql.org
Date: 2021-07-21T16:59:27Z
Lists: pgsql-bugs
Hi,

On 2021-07-18 17:13:50 +1200, Thomas Munro wrote:
> On Thu, May 20, 2021 at 2:49 AM Palle <girgen@pingpong.net> wrote:
> > This seems to still not be fixed. Is it planned for 14.0 release?
> 
> I don't know enough about LLVM and TLS to have an opinion on the
> details, but I tested this and it works, and I think it should
> probably be back-patched based on the discussion so far (and hopefully
> in the future some way can be figured out to make it actually work?).
> 
> When I tested the original repro, I got SIGTRAP (not SIGSEGV as
> reported) with LLVM 9 and 10, while 11, 12 and 13 failed gracefully
> with:
> 
> 2021-07-18 15:27:42.785 NZST [78884] FATAL:  fatal llvm error:
> Relocation type not implemented yet!
> 
> I was reminded of this thread because I happened to see a
> relevant-looking commit whiz past in the FreeBSD commit log[1]: libc
> is changing to a different TLS model.  I just tried that, and it makes
> no difference.

FWIW, there's ongoing work in llvm to make the jit stuff handle TLS
correctly.

Greetings,

Andres Freund



Commits

  1. jit: Don't inline functions that access thread-locals.