From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Martin Liška <marxin.liska@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #15121: Multiple UBSAN errors
Date: Mon, 19 Mar 2018 22:24:53 +0100
Message-ID: <2e3ae9a4-d402-c553-b1d6-bc5dbe8734f8@2ndquadrant.com> (raw)
In-Reply-To: <10573.1521483633@sss.pgh.pa.us>
References: <152140318583.11955.7731957058248462341@wrigleys.postgresql.org>
<7df78014-c931-6c75-6f92-ec48f390b2b9@2ndquadrant.com>
<CAObPJ3MAY9u1had3QSvYO0TG-iVECqDzF04PvMZSHrmxNknZ8Q@mail.gmail.com>
<46a345c1-1f8d-fd0d-c334-d8ca577719a9@2ndquadrant.com>
<CAObPJ3OLHU2DwZLfCXEzkcqU2v6Otk6b32xo-eb0+PtEb=+BpQ@mail.gmail.com>
<7f798f51-05c4-304a-f852-9cea35f5f095@2ndquadrant.com>
<10573.1521483633@sss.pgh.pa.us>
On 03/19/2018 07:20 PM, Tom Lane wrote:
> Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:
>> On 03/19/2018 03:28 PM, Martin Liška wrote:
>>>>> Note that building postgresql with -03, I see some array tests failing.
>
>> I'm getting failures in errors, union and alter_table, but none of those
>> are related to arrays. So, which tests are failing for you and how do
>> the failures look like?
>
> I tried -O3 with gcc 7.3.1 (Fedora 26), and that passes check-world
> just fine. Then I tried -O3 with gcc 8.0.1 (prerelease Fedora 28),
> and indeed that's got some problems. It looks like array_out fails
> for multidimensional arrays, because all the diffs look about
> like this one:
>
> *** 106,116 ****
> SET c[2:2] = '{"new_word"}'
> WHERE array_dims(c) is not null;
> SELECT a,b,c FROM arrtest;
> ! a | b | c
> ! ---------------+-----------------------+-------------------
> ! {16,25,3,4,5} | {{{113,142},{1,147}}} | {}
> ! {} | {3,4} | {foo,new_word}
> ! {16,25,23} | {{3,4},{4,5}} | {foobar,new_word}
> (3 rows)
>
> SELECT a[1:3],
> --- 106,116 ----
> SET c[2:2] = '{"new_word"}'
> WHERE array_dims(c) is not null;
> SELECT a,b,c FROM arrtest;
> ! a | b | c
> ! ---------------+---------------+-------------------
> ! {16,25,3,4,5} | {{ | {}
> ! {} | {3,4} | {foo,new_word}
> ! {16,25,23} | {{3,4},{4,5}} | {foobar,new_word}
> (3 rows)
>
> SELECT a[1:3],
>
> Note that 1-D and 2-D arrays print fine, it's only 3-D or deeper
> that print wrong. Very odd. Maybe it's bad code on our part,
> but I think the odds are at least as good that it's a new gcc bug.
>
Interesting. If I run the tests with "-03" I get the same failures in
arrays. If I run them with "-O3 -fsanitize=undefined" I don't get any
failures in arrays, but I get failures in errors, union and alter_table.
I wouldn't expect -fsanitize=undefined to affect the results like this,
but if it really is a compiler bug then all bets are off.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: tomas.vondra@2ndquadrant.com, tgl@sss.pgh.pa.us, marxin.liska@gmail.com, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #15121: Multiple UBSAN errors
In-Reply-To: <2e3ae9a4-d402-c553-b1d6-bc5dbe8734f8@2ndquadrant.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox