Re: shm_mq_set_sender() crash - Mailing list pgsql-hackers

From Robert Haas
Subject Re: shm_mq_set_sender() crash
Date
Msg-id CA+Tgmob29v0zASBNfgO1Mq9yJ7_TRoAjL=O+2rXS0gBZezv+rQ@mail.gmail.com
Whole thread Raw
In response to Re: shm_mq_set_sender() crash  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] shm_mq_set_sender() crash  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
On Thu, Sep 15, 2016 at 5:22 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> Of course, it's also possible that the ParallelWorkerNumber code is
>> entirely correct and something overwrote the null bytes that were
>> supposed to be found at that location.  It would be very useful to see
>> (a) the value of ParallelWorkerNumber and (b) the contents of
>> vmq->mq_sender, and in particular whether that's actually a valid
>> pointer to a PGPROC in the ProcArray.  But unless we can reproduce
>> this I don't see how to manage that.
>
> Is it worth replacing that Assert with a test-and-elog that would
> print those values?
>
> Given that we've seen only one such instance in the buildfarm, this
> might've been just a cosmic ray bit-flip.  So one part of me says
> not to worry too much until we see it again.  OTOH, if it is real
> but rare, missing an opportunity to diagnose would be bad.

I wonder if we could persuade somebody to run pgbench on a Windows
machine with a similar environment, at least some concurrency, and
force_parallel_mode=on.  Assuming this is a generic
initialize-the-parallel-stuff bug and not something specific to a
particular query, that might well trigger it a lot quicker than
waiting for it to recur in the BF.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Fix comment in ATExecValidateConstraint
Next
From: Peter Geoghegan
Date:
Subject: Re: condition variables