Re: core dumps in auto_prewarm, tests succeed - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: core dumps in auto_prewarm, tests succeed
Date
Msg-id 20240122222743.GA2014482@nathanxps13
Whole thread Raw
In response to Re: core dumps in auto_prewarm, tests succeed  (Nathan Bossart <nathandbossart@gmail.com>)
Responses Re: core dumps in auto_prewarm, tests succeed
Re: core dumps in auto_prewarm, tests succeed
Re: core dumps in auto_prewarm, tests succeed
List pgsql-hackers
On Mon, Jan 22, 2024 at 03:38:15PM -0600, Nathan Bossart wrote:
> On Mon, Jan 22, 2024 at 01:24:54PM -0800, Andres Freund wrote:
>> On 2024-01-22 15:19:36 -0600, Nathan Bossart wrote:
>>> I think this is because the autoprewarm state was moved to a DSM segment,
>>> and DSM segments are detached before the on_shmem_exit callbacks are called
>>> during process exit.  Moving apw_detach_shmem to the before_shmem_exit list
>>> seems to resolve the crashes.
>> 
>> That seems plausible. Would still be nice to have at least this test ensure
>> that the shutdown code works. Perhaps just a check of the control file after
>> shutdown, ensuring that the state is "shutdowned" vs crashed?
> 
> I'll give that a try.  I'll also expand the comment above the
> before_shmem_exit() call.

Here is a patch.

This might be a topic for another thread, but I do wonder whether we could
put a generic pg_controldata check in node->stop that would at least make
sure that the state is some sort of expected shut-down state.  My first
thought is that it could be a tad expensive, but... maybe it wouldn't be
too bad.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachment

pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: core dumps in auto_prewarm, tests succeed
Next
From: Christoph Berg
Date:
Subject: Re: psql: Allow editing query results with \gedit