| From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
|---|---|
| To: | Andres Freund <andres(at)anarazel(dot)de> |
| Cc: | pgsql-hackers(at)postgresql(dot)org, Nathan Bossart <nathan(at)postgresql(dot)org> |
| Subject: | Re: core dumps in auto_prewarm, tests succeed |
| Date: | 2024-01-22 22:27:43 |
| Message-ID: | 20240122222743.GA2014482@nathanxps13 |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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 | Content-Type | Size |
|---|---|---|
| v1-0001-fix-autoprewarm-core-dump.patch | text/x-diff | 1.6 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Christoph Berg | 2024-01-22 22:54:36 | Re: psql: Allow editing query results with \gedit |
| Previous Message | Nathan Bossart | 2024-01-22 21:38:15 | Re: core dumps in auto_prewarm, tests succeed |