Обсуждение: Re: Why our Valgrind reports suck
Hi,
On 2025-05-09 11:29:43 -0400, Andres Freund wrote:
> We currently don't reset TopMemoryContext at exit, which, obviously, does
> massively increase the number of leaks. But OTOH, without that there's not a
> whole lot of value in the leak check...
Briefly looking through the leaks indeed quickly found a real seeming leak,
albeit of limited size:
ProcessStartupPacket() does
buf = palloc(len + 1);
in TopMemoryContext() without ever freeing it.
I have wondered if we ought to have some infrastructure to tear down all
relcache, catcache entries (and other similar things) before shutdown if
MEMORY_CONTEXT_CHECKING is enabled. That would make it a lot easier to see
leaks at shutdown. We certainly have had leaks in relcache etc...
Greetings,
Andres Freund
Andres Freund <andres@anarazel.de> writes:
> Briefly looking through the leaks indeed quickly found a real seeming leak,
> albeit of limited size:
> ProcessStartupPacket() does
> buf = palloc(len + 1);
> in TopMemoryContext() without ever freeing it.
Yeah, I saw that too. Didn't seem worth doing anything about it
unless we make pretty massive cleanups elsewhere.
> I have wondered if we ought to have some infrastructure to tear down all
> relcache, catcache entries (and other similar things) before shutdown if
> MEMORY_CONTEXT_CHECKING is enabled. That would make it a lot easier to see
> leaks at shutdown. We certainly have had leaks in relcache etc...
I'd be content if all that stuff was shown as "still reachable".
regards, tom lane