Re: Pg 15 devel crashes when fetching data from table using cursor

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: Pg 15 devel crashes when fetching data from table using cursor
Дата
Msg-id CAH2-WzkHD5VDnswg_1qTQ45zqxQCAkkPwmmvL_8EX3Gut+mSbw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Pg 15 devel crashes when fetching data from table using cursor  (Andres Freund <andres@anarazel.de>)
Ответы Re: Pg 15 devel crashes when fetching data from table using cursor  (Andres Freund <andres@anarazel.de>)
Список pgsql-bugs
On Thu, Mar 10, 2022 at 4:50 PM Andres Freund <andres@anarazel.de> wrote:
> On 2022-03-07 10:44:23 +0100, hubert depesz lubaczewski wrote:
> > TRAP: FailedAssertion("HaveRegisteredOrActiveSnapshot()", File: "toast_internals.c", Line: 670, PID: 526595)

> That's a new assertion, but I put it in to detect bugs like what's fixed in
> 7c38ef2a5d6cf6d8dc3834399d7a1c364d64ce64. Looks like something in the snapshot
> mangement of cursors is busted...
>
> Any chance you could try to come up with a reproducer?

Although it isn't related to this bug, I thought I'd still ask: where
else we could add "Assert(HaveRegisteredOrActiveSnapshot())" like
this, to get similar protection? Isn't this exactly the kind of
assertion that is contemplated by comments in GlobalVisTestFor() that
you wrote (for the snapshot scalability work)?

Right now GlobalVisTestFor() only uses a weaker assertion:

GlobalVisState *
GlobalVisTestFor(Relation rel)
{
    GlobalVisState *state = NULL;

    /* XXX: we should assert that a snapshot is pushed or registered */
    Assert(RecentXmin);
    ....
}

I tried adding a similar assertion here myself just now, but that
breaks heap_page_prune_opt() (opportunistic pruning) that takes place
in the autovacuum launcher. I doubt that that means very much, though.

-- 
Peter Geoghegan



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Pg 15 devel crashes when fetching data from table using cursor
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Pg 15 devel crashes when fetching data from table using cursor