Re: LLVM JIT: any JIT-compiled query crashes (SIGILL) on a libLLVM 19 + ASAN build

From: Henson Choi <assam258(at)gmail(dot)com>
To: Matheus Alcantara <matheusssilv97(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Tatsuo Ishii <ishii(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, jian he <jian(dot)universality(at)gmail(dot)com>
Subject: Re: LLVM JIT: any JIT-compiled query crashes (SIGILL) on a libLLVM 19 + ASAN build
Date: 2026-06-15 11:29:19
Message-ID: CAAAe_zBX5uV9K0ikuROLgdNvDCgGqHRskT-73L+oX9=3aXR2AQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Matheus,

> I think that the patches looks good and I also think that it's
> good to have a JIT test case since it's off by default. I'm just
> wondering if the the test patch should be 0003 instead 0001 since it
> will break CI if committed before the meson and autoconf changes.

Agreed on both counts. The series started out to show that the JIT
crash seen under Row Pattern Recognition was not RPR's fault but a
generic ASAN + JIT bitcode + debug-info problem, but since JIT is off
by default a dedicated test is worth having on its own, and I think it
makes a good seed to grow further coverage on.

And you're right about the ordering: if the test goes in first it turns
JIT on while the bitcode is still instrumented, so any commit between the
test and the build-system fixes would crash CI. I've reordered the
series so the fixes land first:

0001 meson: exclude sanitizer flags from the JIT bitcode.
(Author: Matheus Alcantara.)

0002 autoconf: same filtering for BITCODE_CFLAGS/CXXFLAGS, plus -g
under --enable-debug so the bitcode keeps its debug info.

0003 Add the "jit" regression test, which turns JIT on to push a
trivial query through the provider. This is the minimal case
that crashes the backend with ASAN enabled, and it passes again
once 0001/0002 are applied.

That way the build-system fixes precede the test at every point in the
history, so CI stays green wherever it is bisected.

Thanks!
Henson

Attachment Content-Type Size
v3-0001-Exclude-sanitizer-flags-from-LLVM-JIT-bitcode-gen.patch application/octet-stream 1.9 KB
v3-0002-Filter-sanitizer-flags-from-the-LLVM-JIT-bitcode-.patch application/octet-stream 3.9 KB
v3-0003-Add-jit-regression-test-to-exercise-the-LLVM-JIT-.patch application/octet-stream 2.9 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Nisha Moond 2026-06-15 11:30:42 Re: Support EXCEPT for TABLES IN SCHEMA publications
Previous Message Zhijie Hou (Fujitsu) 2026-06-15 11:20:12 RE: Parallel Apply