From: | Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | buschmann(at)nidsa(dot)net, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #16045: vacuum_db crash and illegal memory alloc after pg_upgrade from PG11 to PG12 |
Date: | 2019-10-09 14:28:27 |
Message-ID: | 20191009142827.6eph24m3se4clcwh@development |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On Wed, Oct 09, 2019 at 10:07:01AM -0400, Tom Lane wrote:
>Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> writes:
>> FWIW I can reproduce this - it's enough to do this on the 11 cluster
>
>I failed to reproduce any problem from your example, but I was trying
>in C locale on a Linux machine. What environment are you testing?
>
> regards, tom lane
test=# show lc_collate ;
lc_collate
------------
C.UTF-8
(1 row)
I can reproduce this pretty easily like this:
1) build 11
git checkout REL_11_STABLE
./configure --prefix=/home/user/pg-11 --enable-debug --enable-cassert && make -s clean && make -s -j4 install
2) build 12
git checkout REL_12_STABLE
./configure --prefix=/home/user/pg-12 --enable-debug --enable-cassert && make -s clean && make -s -j4 install
3) create the 11 cluster
/home/user/pg-11/bin/pg_ctl -D /tmp/data-11 init
/home/user/pg-11/bin/pg_ctl -D /tmp/data-11 -l /tmp/pg-11.log start
/home/user/pg-11/bin/createdb test
/home/user/pg-11/bin/psql test
4) create the table
create table q_tbl_archiv as
with
qseason as (
select table_name,column_name, ordinal_position
,replace(column_name,'_season','') as col_qualifier
-- ,'id_'||replace(column_name,'_season','') as id_column
from information_schema.columns
order by table_name
)
select qs.*,c.column_name as id_column, c.column_default as id_default
from
qseason qs
left join information_schema.columns c on c.table_name=qs.table_name and
c.column_name like 'id_%';
5) shutdown the 11 cluster
/home/user/pg-11/bin/pg_ctl -D /tmp/data-11 stop
6) init 12 cluster
/home/user/pg-12/bin/pg_ctl -D /tmp/data-12 init
7) do the pg_upgrade thing
/home/user/pg-12/bin/pg_upgrade -b /home/user/pg-11/bin -B /home/user/pg-12/bin -d /tmp/data-11 -D /tmp/data-12 -k
8) start 12 cluster
/home/user/pg-12/bin/pg_ctl -D /tmp/data-12 -l /tmp/pg-12.log start
9) kabooom
/home/user/pg-12/bin/psql test -c "analyze q_tbl_archiv"
On my system (Fedora 30 in x86_64) this reliably results a crash (and
various other crashes as demonstrated in my previous message).
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Hans Buschmann | 2019-10-09 14:50:52 | AW: BUG #16045: vacuum_db crash and illegal memory alloc after pg_upgrade from PG11 to PG12 |
Previous Message | Pavel Pleva | 2019-10-09 14:22:31 | Re: Potential to_date(string, string) function malfunction |
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2019-10-09 14:30:23 | Re: Transparent Data Encryption (TDE) and encrypted files |
Previous Message | Tom Lane | 2019-10-09 14:21:15 | Re: Missed check for too-many-children in bgworker spawning |