Re: BUG #16129: Segfault in tts_virtual_materialize in logicalreplication worker - Mailing list pgsql-bugs

From Ondřej Jirman
Subject Re: BUG #16129: Segfault in tts_virtual_materialize in logicalreplication worker
Date
Msg-id 20191121163506.pfe4u3jinrjdodtx@core.my.home
Whole thread Raw
In response to Re: BUG #16129: Segfault in tts_virtual_materialize in logicalreplication worker  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Responses Re: BUG #16129: Segfault in tts_virtual_materialize in logicalreplication worker  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
List pgsql-bugs
On Thu, Nov 21, 2019 at 05:09:06PM +0100, Tomas Vondra wrote:

> On Thu, Nov 21, 2019 at 04:57:07PM +0100, Ondřej Jirman wrote:
> > On Thu, Nov 21, 2019 at 04:27:32PM +0100, Tomas Vondra wrote:
> > > On Thu, Nov 21, 2019 at 04:07:16PM +0100, Ondřej Jirman wrote:
> > > > I've also managed to get valgrind output on the segfaulting process:
> > > >
> > > > https://megous.com/dl/tmp/valgrind-105524-109020.log
> > > >
> > > > Though it probably doesn't show much new.
> > > >
> > > 
> > > Is postgres actually compiled with valgrind support? What does pg_config
> > > say?
> > 
> > I don't see any valgrind related options in configure --help, I repackaged it
> > just with CFLAGS set to -ggdb -Og.
> > 
> 
> You need to use -DUSE_VALGRIND or edit pg_config_manual.h. I usually
> just use
> 
>   CFLAGS="-DRANDOMIZE_ALLOCATED_MEMORY -DUSE_VALGRIND -O0 -ggdb"
> 
> which does the trick. Without the USE_VALGRIND defined, we don't include
> the valgrind instrumentation, so I suppose the previous results are bogus.

Two new valgrind logs, now with -DUSE_VALGRIND:

https://megous.com/dl/tmp/valgrind-172090.log
https://megous.com/dl/tmp/valgrind-172143.log

A lots of uninitialized 1b accesses around VARATT_IS_EXTERNAL_EXPANDED.

So slot->tts_values[natt] is probably uninitialized.

Which is why the backtrace had a weird value there, I guess.

regards,
    o.




pgsql-bugs by date:

Previous
From: Ondřej Jirman
Date:
Subject: Re: BUG #16129: Segfault in tts_virtual_materialize in logicalreplication worker
Next
From: PG Bug reporting form
Date:
Subject: BUG #16130: planner does not pick unique btree index and goes for seq scan but unsafe hash index works.