Re: casting operand to proper type in BlockIdGetBlockNumber

From: Zhihong Yu <zyu(at)yugabyte(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: casting operand to proper type in BlockIdGetBlockNumber
Date: 2022-03-03 16:34:33
Message-ID: CALNJ-vR=MrAxu6Dbp8p6G2VUVg1fLf0vWsXmFbHhjk1gb+669w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 3, 2022 at 8:24 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Zhihong Yu <zyu(at)yugabyte(dot)com> writes:
> > On Thu, Mar 3, 2022 at 7:44 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> >> Zhihong Yu <zyu(at)yugabyte(dot)com> writes:
> >>> In test output, I saw:
> >>> src/backend/utils/adt/tid.c:112:16: runtime error: left shift of 65535
> by
> >>> 16 places cannot be represented in type 'int'
>
> > Jenkins build is alma8-clang12-asan
>
> Oh, I misread this as a compile-time warning, but it must be from ASAN.
> Was the test case one of your own, or just our normal regression tests?
>
> (I think the code is indeed incorrect, but I'm wondering why this hasn't
> been reported before. It's been like that for a long time.)
>
> regards, tom lane
>
Hi,
The Jenkins test is ported from contrib/postgres_fdw/sql/postgres_fdw.sql -
so theoretically PG would see the same error for clang12 on Alma.

Here were a few lines prior to the sanitizer complaint:

ts1|pid123867|:30045 2022-03-02 01:47:57.098 UTC [124161] STATEMENT:
CREATE TRIGGER trig_row_before
ts1|pid123867|:30045 BEFORE INSERT OR UPDATE OR DELETE ON rem1
ts1|pid123867|:30045 FOR EACH ROW EXECUTE PROCEDURE
trigger_data(23,'skidoo');
ts1|pid123867|:30045 2022-03-02 01:47:57.106 UTC [124161] ERROR: function
trigger_data() does not exist
ts1|pid123867|:30045 2022-03-02 01:47:57.106 UTC [124161] STATEMENT:
CREATE TRIGGER trig_row_after
ts1|pid123867|:30045 AFTER INSERT OR UPDATE OR DELETE ON rem1
ts1|pid123867|:30045 FOR EACH ROW EXECUTE PROCEDURE
trigger_data(23,'skidoo');

I think the ASAN build on Alma is able to detect errors such as this.

Cheers

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2022-03-03 16:35:08 Re: pg_walinspect - a new extension to get raw WAL data and WAL stats
Previous Message Joshua Brindle 2022-03-03 16:26:01 Re: [PATCH v2] use has_privs_for_role for predefined roles