Re: BUG #15585: infinite DynamicSharedMemoryControlLock waiting inparallel query - Mailing list pgsql-bugs

From Thomas Munro
Subject Re: BUG #15585: infinite DynamicSharedMemoryControlLock waiting inparallel query
Date
Msg-id CAEepm=3AqfdELjsKzzik8vYBnSHBFSWAmuxWGV2HNiOgVsX22g@mail.gmail.com
Whole thread Raw
In response to Re: BUG #15585: infinite DynamicSharedMemoryControlLock waiting inparallel query  (Thomas Munro <thomas.munro@enterprisedb.com>)
Responses Re: BUG #15585: infinite DynamicSharedMemoryControlLock waiting inparallel query
List pgsql-bugs
On Fri, Jan 11, 2019 at 10:04 AM Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
> I am trying to reproduce it.

I ran squillions of concurrent parallel queries today, making sure
they would allocate and free entire segments a lot (based on the
assumption that something along those lines must be required).  I made
sure to use Linux, GCC, -O2, no asserts (since both reports came from
that environment, and I'd previously failed to reproduce this on my
usual tool chain/platforms), and I used a multi-socket box (in case
some cache coherency effect was not occurring on my development
laptops).  I did learn some interesting things about parallel query
performance that I plan to follow up on, but I had no luck in
reproducing this error.  Rats.

One observation is that the other report involved a fairly simple
Parallel Hash Join query (on 11), and this report involves Parallel
Index Scan and Parallel Bitmap Index Scan (on 10), so that suggests
that it's probably not a bug in the parallel executor code (for
example an access-after-free, whose undefined behaviour could in
theory look like this with unlucky timing, I speculate) but rather
something lower level.

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


pgsql-bugs by date:

Previous
From: AP
Date:
Subject: Re: BUG #15582: ALTER TABLE/INDEX ... SET TABLESPACE does not freedisk space
Next
From: PG Bug reporting form
Date:
Subject: BUG #15589: Due to missing wal,restore ends prematurely and opens database for read/write