"Mikheev, Vadim" <vmikheev@SECTORBASE.COM> writes:
> Hmm, concurrent checkpoint? Probably we could simplify dirty test
> in ByfferSync() - ie test bufHdr->cntxDirty without holding
> shlock (and pin!) on buffer: should be good as long as we set
> cntxDirty flag *before* XLogInsert in access methods. Have to
> look more...
Yes, I'm wondering if some other backend is trying to write/flush
the buffer (maybe as part of a checkpoint, maybe not). But seems
like we should have seen this before, if so; that's not a low-
probability scenario, particularly with just 64 buffers...
regards, tom lane