Re: terminate called after throwing an instance of 'std::bad_alloc' - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: terminate called after throwing an instance of 'std::bad_alloc'
Date
Msg-id 20210420055821.GA17201@telsasoft.com
Whole thread Raw
In response to Re: terminate called after throwing an instance of 'std::bad_alloc'  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: terminate called after throwing an instance of 'std::bad_alloc'  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Tue, Apr 20, 2021 at 12:38:26AM -0500, Justin Pryzby wrote:
> I don't know if this is related to the other issues, but this seems leaky.

And it explains how the context use counter can exceed its threshold.

create or replace function fn() returns void language plpgsql as $$ declare rec int; begin SELECT relpages INTO rec
FROMpg_class LIMIT 1; end $$;
 
explain analyze
SELECT fn()
FROM generate_series(1,99);

SELECT SUM(a) FROM (VALUES(1))a(a);

time PGOPTIONS='-cclient_min_messages=debug -clog_executor_stats=off -clog_min_duration_statement=-1 -cjit=on
-cjit_above_cost=0-cjit_inline_above_cost=0' psql ts -f jitleak.sql
 
...
psql:jitleak.sql:6: DEBUG:  recreating LLVM context after 100 uses

Question: does the jit context need to be recreated only when inlining is
enabled?  Or maybe it's better if it's not conditionalized like that..



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: 2 questions about volatile attribute of pg_proc.
Next
From: Bharath Rupireddy
Date:
Subject: Re: Performance degradation of REFRESH MATERIALIZED VIEW