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 21:19:36 |
Message-ID: | 20240122211936.GA1952414@nathanxps13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Jan 22, 2024 at 02:44:57PM -0600, Nathan Bossart wrote:
> On Mon, Jan 22, 2024 at 12:41:17PM -0800, Andres Freund wrote:
>> I noticed that I was getting core dumps while executing the tests, without the
>> tests failing. Backtraces are vriations of this:
>
> Looking, thanks for the heads-up.
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.
diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c
index 9ea6c2252a..88c3a04109 100644
--- a/contrib/pg_prewarm/autoprewarm.c
+++ b/contrib/pg_prewarm/autoprewarm.c
@@ -165,7 +165,7 @@ autoprewarm_main(Datum main_arg)
first_time = false;
/* Set on-detach hook so that our PID will be cleared on exit. */
- on_shmem_exit(apw_detach_shmem, 0);
+ before_shmem_exit(apw_detach_shmem, 0);
/*
* Store our PID in the shared memory area --- unless there's already
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2024-01-22 21:24:54 | Re: core dumps in auto_prewarm, tests succeed |
Previous Message | Matthias van de Meent | 2024-01-22 21:12:55 | Re: Optimizing nbtree ScalarArrayOp execution, allowing multi-column ordered scans, skip scan |