On Wed, Aug 18, 2021 at 8:01 AM Jelte Fennema <jelte.fenn...@microsoft.com>
wrote:

> Hi,
>
> I ran into some segfaults when using Postgres that was compiled with LLVM
> 7. According to the backtraces these crashes happened during the call to
> llvm_shutdown, during cleanup after another out of memory condition. It
> seems that calls to LLVMOrcDisposeInstance, can crash (at least on LLVM 7)
> when LLVM is left in bad state. I attached the relevant part of the
> stacktrace to this email.
>
> With the attached patch these segfaults went away. The patch turns
> llvm_shutdown into a no-op whenever the backend is exiting with an error.
> Based on my understanding of the code this should be totally fine. No
> memory should be leaked, since all memory will be cleaned up anyway once
> the backend exits shortly after. The only reason this cleanup code even
> seems to exist at all is to get useful LLVM profiling data. To me it seems
> be acceptable if the profiling data is incorrect/missing when the backend
> exits with an error.
>
> Jelte
>
Hi,
Minor comment:

+        * shut LLVM down, this can result into a segfault. So if this
process

result into a segfault -> result in a segfault

Cheers

Reply via email to