Re: BUG #15036: Un-killable queries Hanging in BgWorkerShutdown

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: David Kohn <djk447(at)gmail(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15036: Un-killable queries Hanging in BgWorkerShutdown
Date: 2018-02-08 00:34:18
Message-ID: CAEepm=2f1+c262jE20W5+9wd7D+mFL_WEUW=gFHH5PSaqYVFKA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Feb 8, 2018 at 7:06 AM, David Kohn <djk447(at)gmail(dot)com> wrote:
> I'm not clear on when we do a SetLatch on those message queues during a
> cancel of parallel workers, and a number of other things that could
> definitely invalidate this analysis, but I think there could be a plausible
> explanation in there somewhere.

shm_mq_detach_internal() does SetLatch(&victim->procLatch) ("victim"
being the counterparty process) after setting mq_detached. So ideally
no one should ever be able to wait forever on a queue from which the
other end has detached, but perhaps there is some race condition style
bug lurking in here. I'm going to do some testing and see if I can
break this...

> Thanks for the help on this, I hope this is helpful and do let me know if a
> stacktrace or anything else would be helpful on my end.

Yeah stack traces would be great, if you can.

--
Thomas Munro
http://www.enterprisedb.com

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2018-02-08 00:41:48 Re: PostgreSQL crashes with SIGSEGV
Previous Message David G. Johnston 2018-02-07 19:24:06 Re: BUG #15054: intermittent error: An I/O error occured while sending to the backend.