Re: BUG #16087: Segmentation fault on ALTER TABLE

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: ariel(at)mashraki(dot)co(dot)il
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16087: Segmentation fault on ALTER TABLE
Date: 2019-10-29 15:26:14
Message-ID: 23031.1572362774@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> Running ALTER TABLE with both ALTER COLUMN and ADD COLUMN causes a database
> segfault. It happens constantly on version 12 and doesn't reproduce on
> version 11 and 10.
> Attaching here a set of commands (and their output) to help reproducing the
> issue ($ means start of a command).

> $ create table "users" (id bigint not null generated by default as identity,
> age int not null, primary key(id));
> $ insert into users (age) values(1);
> $ alter table "users" alter column "age" type bigint, add column "nickname"
> text;

Thanks for the report! I failed to reproduce a crash here, but I think
that means that the bug is already fixed. It looks like this probably
matches this recent commit:

Author: Andres Freund <andres(at)anarazel(dot)de>
Branch: master [93765bd95] 2019-10-09 22:00:50 -0700
Branch: REL_12_STABLE [f224c7c11] 2019-10-09 22:13:48 -0700

Fix table rewrites that include a column without a default.

In c2fe139c201c I made ATRewriteTable() use tuple slots. Unfortunately
I did not notice that columns can be added in a rewrite that do not
have a default, when another column is added/altered requiring one.

Initialize columns to NULL again, and add tests.

Bug: #16038
Reported-By: anonymous
Author: Andres Freund
Discussion: https://postgr.es/m/16038-5c974541f2bf6749@postgresql.org
Backpatch: 12, where the bug was introduced in c2fe139c201c

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2019-10-29 15:26:19 BUG #16088: Multiple foreigh keys created on "ALTER TABLE" command
Previous Message PG Bug reporting form 2019-10-29 15:16:29 BUG #16087: Segmentation fault on ALTER TABLE