Re: TRAP: FailedAssertion("HaveRegisteredOrActiveSnapshot()", File: "toast_internals.c", Line: 670, PID: 19403)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Justin Pryzby <pryzby@telsasoft.com>,
Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
Erik Rijkers <er@xs4all.nl>,
Matthias van de Meent <boekewurm+postgres@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-04-19T14:36:36Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Mon, Apr 18, 2022 at 4:07 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> There may be some corner cases that aren't described by any of these >> three blanket scenarios, but they've got to be pretty few and far >> between. > My first thought whenever anything like this comes up is cursors, > especially but not only holdable cursors. Also, plpgsql variables, > maybe mixed with embedded COMMIT/ROLLBACK. Those exact cases have had detoasting bugs in the past and are now fixed. > I don't find it > particularly hard to believe we have some bugs in > insufficiently-well-considered parts of the system that pass around > datums outside of the normal executor flow, but I don't know exactly > how to find them all, either. I'm not here to claim that there are precisely zero remaining bugs of this ilk. I'm just saying that I think we've flushed out most of them. I think there is some value in trying to think of a way to prove that none remain, but it's not a problem we can solve for v15. regards, tom lane
Commits
-
Fix incorrect logic in HaveRegisteredOrActiveSnapshot().
- 9f4f0a0dad4c 15.0 landed
-
Fix temporary object cleanup failing due to toast access without snapshot.
- 7c38ef2a5d6c 15.0 cited
-
Account for catalog snapshot in PGXACT->xmin updates.
- ffaa44cb559d 10.0 cited