Re: deadlock-hard flakiness

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org, Thomas Munro <thomas.munro@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2023-02-08T22:15:28Z
Lists: pgsql-hackers
Hi,

On 2023-02-08 14:11:45 -0800, Andres Freund wrote:
> On 2023-02-07 17:10:21 -0800, Andres Freund wrote:
> I don't really understand how GetSafeSnapshotBlockingPids() can end up finding
> deadlock-hard's sessions being blocked by a safe snapshot. Afaict nothing uses
> serializable in that test. How can SXACT_FLAG_DEFERRABLE_WAITING be set for
> the sxact of a backend that never did serializable? Are we possibly forgetting
> to clear it or such?
> 
> 
> I don't think it should affect the reports here, but I did break something
> when removing SHMQueue - GetSafeSnapshotBlockingPids() doesn't check
> output_size anymore. Will fix.  Thomas, any chance you could do a pass through
> 96003717645 to see if I screwed up other things? I stared a lot at that
> change, but I obviously did miss at least one thing.

Argh, it's actually caused by 96003717645 as well: Previously loop iteration
without finding a matching pid ends with sxact == NULL, now it doesn't.

Greetings,

Andres Freund



Commits

  1. Fix bugs in GetSafeSnapshotBlockingPids(), introduced in 96003717645

  2. Use annotations to reduce instability of isolation-test results.