Re: ENOSPC FailedAssertion("!(RefCountErrors == 0)" - Mailing list pgsql-hackers

From Tom Lane
Subject Re: ENOSPC FailedAssertion("!(RefCountErrors == 0)"
Date
Msg-id 18926.1531876279@sss.pgh.pa.us
Whole thread Raw
In response to Re: ENOSPC FailedAssertion("!(RefCountErrors == 0)"  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Tue, Jul 17, 2018 at 8:55 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> 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).

Oh, gotcha: so that if an external developer hits it, he can more
easily see that this is from an (effective) API change and not some
mysterious bug.  Makes sense, especially if we include a comment:

    /* We used to allow pinning buffers without a resowner, but no more */
    Assert(CurrentResourceOwner != NULL);

I think it's sufficient to do this in ResourceOwnerEnlargeBuffers,
though.  The other two should be unreachable without having gone
through that.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: patch to allow disable of WAL recycling
Next
From: Michael Paquier
Date:
Subject: Re: PG 10: could not generate random cancel key