Re: segmentation fault when cassert enabled

Kyotaro Horiguchi <horikyota.ntt@gmail.com>

From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: tgl@sss.pgh.pa.us
Cc: jgdr@dalibo.com, pgsql-hackers@lists.postgresql.org
Date: 2019-10-28T07:47:02Z
Lists: pgsql-hackers
At Fri, 25 Oct 2019 12:28:38 -0400, Tom Lane <tgl@sss.pgh.pa.us> wrote in 
> Jehan-Guillaume de Rorthais <jgdr@dalibo.com> writes:
> > When investigating for the bug reported in thread "logical replication -
> > negative bitmapset member not allowed", I found a way to seg fault postgresql
> > only when cassert is enabled.
> > ...
> > I hadn't time to digg further yet. However, I don't understand why this crash
> > is triggered when cassert is enabled.
> 
> Most likely, it's not so much assertions that provoke the crash as
> CLOBBER_FREED_MEMORY, ie the actual problem here is use of already-freed
> memory.

Agreed.

By the way I didn't get a crash by Jehan's script with the
--enable-cassert build of the master HEAD of a few days ago.

FWIW I sometimes got SEGVish crashes or mysterious misbehavor when
some structs were changed and I didn't do "make clean". Rarely I
needed "make distclean". (Yeah, I didn't ususally turn on
--enable-depend..)

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

  1. Fix subscriber invalid memory access on DDL.

  2. Fix memory allocation mistake