Hi, On 2021-04-17 19:13:24 -0500, Justin Pryzby wrote: > I'm now realizing that that's RAM use for a single query, not from continuous > leaks across multiple queries.
What's the memory usage with inlining disabled, and whats the usage without jit? > This is still true with the patch even if I > #define LLVMJIT_LLVM_CONTEXT_REUSE_MAX 1 > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > 28438 postgres 20 0 3854264 2.8g 29428 R 98.7 33.2 8:56.79 postgres: > telsasoft ts 192.168.122.11(53614) BIND > > python3 ./jitleak.py # runs telsasoft reports > INFO: recreating LLVM context after 2 uses > INFO: recreating LLVM context after 2 uses > INFO: recreating LLVM context after 2 uses > INFO: recreating LLVM context after 2 uses > INFO: recreating LLVM context after 2 uses > PID 27742 finished running report; est=None rows=40745; cols=34; ... > duration:538 > INFO: recreating LLVM context after 81492 uses > > I did: > > - llvm_llvm_context_reuse_count = 0; > Assert(llvm_context != NULL); > + elog(INFO, "recreating LLVM context after %zu uses", > llvm_llvm_context_reuse_count); > + llvm_llvm_context_reuse_count = 0; > > Maybe we're missing this condition somehow ? > if (llvm_jit_context_in_use_count == 0 && Do you utilize cursors or such? > Also, I just hit this assertion by cancelling the query with ^C / sigint. But > I don't have a reprodcer for it. > > < 2021-04-17 19:14:23.509 ADT telsasoft >PANIC: LLVMJitContext in use count > not 0 at exit (is 1) Hm, I'll try to see how that happens - if not, do you have a backtrace? Greetings, Andres Freund