Re: PANIC: wrong buffer passed to visibilitymap_clear
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-04-09T23:27:12Z
Lists: pgsql-hackers
On Fri, Apr 9, 2021 at 3:40 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Buildfarm members spurfowl[1] and thorntail[2] have each shown $SUBJECT > once in the past two days. The circumstances are not quite the same; > spurfowl's failure is in autovacuum while thorntail's is in a manual > VACUUM command. Still, it seems clear that there's a recently-introduced > bug here somewhere. I don't see any obvious candidate for the culprit, > though. Any ideas? They're both VACUUM ANALYZE. They must be, because the calls to visibilitymap_clear PANIC (they don't ERROR) -- the failing visibilitymap_clear() call must occur inside a critical section, and all such calls are made within heapam.c (only VACUUM ANALYZE uses a transaction and does writes). It cannot be the two calls to visibilitymap_clear() inside vacuumlazy.c. I suspect that you've figured this much already. Just pointing it out. -- Peter Geoghegan
Commits
-
Avoid improbable PANIC during heap_update.
- 5f12bc94dcc6 12.7 landed
- 37e76546a2ba 13.3 landed
- 34f581c39e97 14.0 landed
-
Refactor lazy_scan_heap() loop.
- 7ab96cf6b312 14.0 cited