Re: BUG #16129: Segfault in tts_virtual_materialize in logical replication worker

From: Ondřej Jirman <ienieghapheoghaiwida(at)xff(dot)cz>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16129: Segfault in tts_virtual_materialize in logical replication worker
Date: 2019-11-21 17:37:17
Message-ID: 20191121173717.fgzkrqejqhig54s4@core.my.home
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Nov 21, 2019 at 06:01:52PM +0100, Tomas Vondra wrote:
> On Thu, Nov 21, 2019 at 05:35:06PM +0100, Ondřej Jirman wrote:
> > 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
> >
>
> Unfortunately, I only get HTTP 403 :-(

Sorry for that, it should be accessible now.

> > 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.
> >
>
> Possibly. Something is clearly wrong.
>
>
> regards
>
> --
> Tomas Vondra http://www.2ndQuadrant.com
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2019-11-21 17:48:00 Re: BUG #16130: planner does not pick unique btree index and goes for seq scan but unsafe hash index works.
Previous Message Ondřej Jirman 2019-11-21 17:35:55 Re: BUG #16129: Segfault in tts_virtual_materialize in logical replication worker