Re: ENOSPC FailedAssertion("!(RefCountErrors == 0)"

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, Michael Paquier <michael@paquier.xyz>, Justin Pryzby <pryzby@telsasoft.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-07-18T00:59:14Z
Lists: pgsql-hackers
On Tue, Jul 17, 2018 at 8:55 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Tue, Jul 17, 2018 at 8:01 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> Any objections?  Anyone want to do further review?
>
>> LGTM.  I think this is an improvement.  However, it seems like it
>> might be a good idea for ResourceOwnerRememberBuffer and
>> ResourceOwnerForgetBuffer to Assert(buffer != NULL), so that if
>> somebody messes up it will trip an assertion rather than just seg
>> faulting.
>
> Uh, what?  There are only a few callers of those, and they'd all have
> crashed already if they were somehow dealing with an invalid buffer.

Sorry, I meant Assert(owner != NULL).

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


Commits

  1. Use a ResourceOwner to track buffer pins in all cases.