public inbox for [email protected]
help / color / mirror / Atom feedFrom: Alvaro Herrera <[email protected]>
To: Antonin Houska <[email protected]>
Cc: Baji Shaik <[email protected]>
Cc: [email protected]
Subject: Re: [PATCH] Fix REPACK decoding worker not cleaned up on FATAL exit
Date: Wed, 20 May 2026 13:13:43 -0700
Message-ID: <[email protected]> (raw)
In-Reply-To: <8656.1779263646@localhost>
On 2026-May-20, Antonin Houska wrote:
> Alvaro Herrera <[email protected]> wrote:
> The call of shm_mq_detach() got lost, or do you rely on dsm_detach() to call
> shm_mq_detach_callback() ? The latter does not free ->mqh_buffer.
Hmm, this I think this is a code documentation bug then, because the
comment for shm_mq_attach() says
* If seg != NULL, the queue will be automatically detached when that dynamic
* shared memory segment is detached.
I think it's strange, or buggy even, to say that "the queue is
automatically detached", but that you still have to call dsm_mq_detach()
afterwards.
I can put back the shm_mq_detach() call, of course.
> + * Now detach from our shared memory segment. In error cases there might
> + * still be messages from the worker in the queue, which ProcessInterrupts
> + * would try to read; this is pointless (and causes an assertion failure),
> + * so set the global pointer to NULL to have ProcessRepackMessages ignore
> + * them.
> I suppose the reason for the assertion failure was reading from the queue
> after the backend had detached from it? Thanks for fixing that.
Yeah, that's exactly what happened.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"La vida es para el que se aventura"
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: [PATCH] Fix REPACK decoding worker not cleaned up on FATAL exit
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox