On Tue, Apr 24, 2018 at 11:37:33AM +1200, Thomas Munro wrote:
> On Tue, Apr 24, 2018 at 11:18 AM, Stephen Frost <sfr...@snowman.net> wrote:
> > Greetings,
> >
> > * Tom Lane (t...@sss.pgh.pa.us) wrote:
> >> So far, dory has failed three times with essentially identical symptoms:
> >>
> >> 2018-04-23 19:57:10.624 GMT [2240] FATAL:  could not reattach to shared 
> >> memory (key=0000000000000190, addr=00000000018E0000): error code 487
> >> 2018-04-23 15:57:10.657 EDT [8836] ERROR:  lost connection to parallel 
> >> worker
> >> 2018-04-23 15:57:10.657 EDT [8836] STATEMENT:  select count(*) from tenk1 
> >> group by twenty;
> >> 2018-04-23 15:57:10.660 EDT [3820] LOG:  background worker "parallel 
> >> worker" (PID 2240) exited with exit code 1
> >>
> >> Now how can this be?  We've successfully reserved and released the address
> >> range we want to use, so it *should* be free at the instant we try to map.
> >
> > Yeah, that's definitely interesting.
> 
> I wondered if another thread with the right timing could map something
> between the VirtualFree() and MapViewOfFileEx() calls, but  we don't
> create the Windows signal handling thread until a bit later.  Could
> there be any any other threads active in the process?
> 
> Maybe try asking what's mapped there with VirtualQueryEx() on failure?

+1.  An implementation of that:
https://www.postgresql.org/message-id/20170403065106.GA2624300%40tornado.leadboat.com

Reply via email to