From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
Cc: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com> |
Subject: | Re: broken JIT support on Fedora 40 |
Date: | 2024-03-15 00:54:38 |
Message-ID: | CA+hUKGLW4JGt8_3m8kVq1gXMkfjc2-Kym=YKm3HngqCwzw=99A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
For me it seems that the LLVMRunPasses() call, new in
commit 76200e5ee469e4a9db5f9514b9d0c6a31b496bff
Author: Thomas Munro <tmunro(at)postgresql(dot)org>
Date: Wed Oct 18 22:15:54 2023 +1300
jit: Changes for LLVM 17.
is reaching code that segfaults inside libLLVM, specifically in
llvm::InlineFunction(llvm::CallBase&, llvm::InlineFunctionInfo&, bool,
llvm::AAResults*, bool, llvm::Function*). First obvious question
would be: is that NULL argument still acceptable? Perhaps it wants
our LLVMTargetMachineRef there:
err = LLVMRunPasses(module, passes, NULL, options);
But then when we see what is does with that argument, it arrives at a
place that apparently accepts nullptr.
https://github.com/llvm/llvm-project/blob/6b2bab2839c7a379556a10287034bd55906d7094/llvm/lib/Passes/PassBuilderBindings.cpp#L56
https://github.com/llvm/llvm-project/blob/6b2bab2839c7a379556a10287034bd55906d7094/llvm/include/llvm/Passes/PassBuilder.h#L124
Hrmph. Might need an assertion build to learn more. I'll try to look
again next week or so.
From | Date | Subject | |
---|---|---|---|
Next Message | Melanie Plageman | 2024-03-15 00:56:58 | Re: Combine Prune and Freeze records emitted by vacuum |
Previous Message | Michael Paquier | 2024-03-15 00:10:01 | Re: Support json_errdetail in FRONTEND builds |