On 24 December 2012 16:07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Huh. Looks a bit like overflow of the refcount, which would explain why
> it takes such a long test case to reproduce it. But how could that be
> happening without somebody forgetting to decrement the refcount, which
> ought to lead to a visible failure in shorter tests? Even more
> interesting that the buffer's global refcount is zero.
But we test at the end of each transaction whether any pin count is
non-zero, so it can't have slowly built up.
It would be easier for it to have decremented too many times within
just one transaction.
Something to do with tail recursion during VACUUM?
-- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services