Re: pgsql: Implementation of subscripting for jsonb

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Alexander Korotkov <akorotkov(at)postgresql(dot)org>, pgsql-committers <pgsql-committers(at)lists(dot)postgresql(dot)org>
Subject: Re: pgsql: Implementation of subscripting for jsonb
Date: 2021-02-01 13:00:21
Message-ID: CAPpHfdu8Jh0tySa50Zhkyg6gMvi2pQFdHAMiF+UkZNqsDLwTQw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Mon, Feb 1, 2021 at 3:41 PM Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
> On Mon, Feb 1, 2021 at 10:06 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > Heikki Linnakangas <hlinnaka(at)iki(dot)fi> writes:
> > > On 31/01/2021 22:54, Alexander Korotkov wrote:
> > >> Implementation of subscripting for jsonb
> >
> > > The Itanium and sparc64 buildfarm members didn't like this, and are
> > > crashing at "select ('123'::jsonb)['a'];". Unaligned memory access, perhaps?
> >
> > I think I just identified the cause.
>
> Thanks again for fixing this.
>
> BTW, I managed to reproduce the issue by compiling with CFLAGS="-O0
> -fsanitize=alignment -fsanitize-trap=alignment" and the patch
> attached.
>
> I can propose the following to catch such issues earlier. We could
> finish (wrap attribute with macro and apply it to other places with
> misalignment access if any) and apply the attached patch and make
> commitfest.cputube.org check patches with CFLAGS="-O0
> -fsanitize=alignment -fsanitize-trap=alignment". What do you think?

The revised patch is attached. The attribute is wrapped into
pg_attribute_no_sanitize_alignment() macro. I've checked it works for
me with gcc-10 and clang-11.

------
Regards,
Alexander Korotkov

Attachment Content-Type Size
pg_attribute_no_sanitize_alignment.patch application/octet-stream 904 bytes

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2021-02-01 13:53:37 pgsql: SEARCH and CYCLE clauses
Previous Message Alexander Korotkov 2021-02-01 12:41:59 Re: pgsql: Implementation of subscripting for jsonb

Browse pgsql-hackers by date

  From Date Subject
Next Message Yugo NAGATA 2021-02-01 13:13:15 Re: [PATCH] Add extra statistics to explain for Nested Loop
Previous Message Alexander Korotkov 2021-02-01 12:41:59 Re: pgsql: Implementation of subscripting for jsonb