On Tue, Nov 28, 2017 at 10:05 AM, Jakub Glapa <jakub.glapa@gmail.com> wrote: > As for the crash. I dug up the initial log and it looks like a segmentation > fault... > > 2017-11-23 07:26:53 CET:192.168.10.83(35238):user@db:[30003]: ERROR: too > many dynamic shared memory segments
I think there are two failure modes: one of your sessions showed the "too many ..." error (that's good, ran out of slots and said so and our error machinery worked as it should), and another crashed with a segfault, because it tried to use a NULL "area" pointer (bad). I think this is a degenerate case where we completely failed to launch parallel query, but we ran the parallel query plan anyway and this code thinks that the DSA is available. Oops.
I think BitmapHeapScan check whether dsa is valid or not if DSA is not valid then it should assume it's non-parallel plan.