Re: [CLOBBER_CACHE]Server crashed with segfault 11 while executing clusterdb

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Amul Sul <sulamul@gmail.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael@paquier.xyz>, Noah Misch <noah@leadboat.com>, Neha Sharma <neha.sharma@enterprisedb.com>, Amit Langote <amitlangote09@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-04-09T22:45:45Z
Lists: pgsql-hackers
On 2021-Mar-25, Amul Sul wrote:

> Ok, in the attached patch, I have added the inline function to rel.h, and for
> that, I end up including smgr.h to rel.h. I tried to replace all rel->rd_smgr
> by RelationGetSmgr() function and removed the RelationOpenSmgr() call from
> the nearby to it which I don't think needed at all.

We forgot this patch earlier in the commitfest.  Do people think we
should still get it in on this cycle?  I'm +1 on that, since it's a
safety feature poised to prevent more bugs than it's likely to
introduce.

-- 
Álvaro Herrera       Valdivia, Chile



Commits

  1. Replace RelationOpenSmgr() with RelationGetSmgr().

  2. Avoid possible crash while finishing up a heap rewrite.

  3. Redefine pg_class.reltuples to be -1 before the first VACUUM or ANALYZE.