On Fri, Feb 18, 2011 at 2:50 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> On Fri, Feb 18, 2011 at 2:35 PM, Andrew Dunstan <and...@dunslane.net> wrote: >>> It's not running HS, so there's no query to wait on. > >> That seems to imply that recovery has leaked a buffer pin. > > No, because then the sanity check in LockBufferForCleanup would have > fired: > > /* There should be exactly one local pin */ > if (PrivateRefCount[buffer - 1] != 1) > elog(ERROR, "incorrect local pin count: %d", > PrivateRefCount[buffer - 1]);
Hmm, yeah. > Some sort of deadly embrace with the bgwriter, maybe? Maybe. I think it'd be useful to know what the buffer header thinks the refcount on that buffer is, and what the startup process and the bgwriter each have for PrivateRefCount[buffer]. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers