Re: BUG #16293: postgres segfaults and returns SQLSTATE 08006
Daniel WM <dwilches@gmail.com>
From: Daniel WM <dwilches@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2020-03-10T23:04:48Z
Lists: pgsql-bugs
I tried your steps and it didn't crash here either. I'll try to find a
reproducible set of steps.
I isolated the test that was failing and it didn't fail by itself, so there
is some interaction with my other tests. I tried running all tests in my
laptop and yeap, it segfaults here too. So we can add "Ubuntu 18.04.4" with
this Postgres:
```
# select version();
version
-----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11.7 (Ubuntu 11.7-2.pgdg18.04+1) on x86_64-pc-linux-gnu,
compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
```
--
Daniel Wilches
On Tue, Mar 10, 2020 at 3:19 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> PG Bug reporting form <noreply@postgresql.org> writes:
> > I finally found the issue was that one of the tests was trying to insert
> a
> > row on a partitioned table, but there was no partition where to put that
> > row, so it had to go to the default partition. But, the default partition
> > had a constraint that disallowed that row, so the row couldn't be
> inserted
> > and Postgres ended with a segfault.
>
> Hm, works for me:
>
> regression=# create table tt (f1 int, f2 text) partition by list(f1);
> CREATE TABLE
> regression=# create table t1 partition of tt for values in (1);
> CREATE TABLE
> regression=# create table tother partition of tt default;
> CREATE TABLE
> regression=# alter table tother add check (length(f2) > 1);
> ALTER TABLE
> regression=# insert into tt values (1, 'f');
> INSERT 0 1
> regression=# insert into tt values (3, 'f');
> ERROR: new row for relation "tother" violates check constraint
> "tother_f2_check"
> DETAIL: Failing row contains (3, f).
> regression=#
>
> Admittedly this is v11 branch tip not exactly 11.7, but I don't see
> anything related-looking in the commit log. So I think there is some
> contributing factor you didn't mention. Could you provide a
> self-contained reproduction script?
>
> regards, tom lane
>
Commits
-
Add regression tests for constraint errors in partitioned tables.
- f801ceb696b4 13.0 landed
- 58995db07e37 11.8 landed
- 2060999a4d6e 10.13 landed
- 7c8364200261 12.3 landed
-
Fix potential crash after constraint violation errors in partitioned tables.
- d35631e37cab 11.8 landed
- 44170a58092d 10.13 landed