From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Yuri Zamyatin <yuri(at)yrz(dot)am>, Amit Langote <amitlangote09(at)gmail(dot)com> |
Cc: | Jeff Davis <pgsql(at)j-davis(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #19078: Segfaults in tts_minimal_store_tuple() following pg_upgrade |
Date: | 2025-10-15 22:45:12 |
Message-ID: | CAApHDvrFED25iQckJ6ZTdG+nnfnHtaxZ31J_U-ptCKHdY_JdnA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Thu, 16 Oct 2025 at 03:21, Yuri Zamyatin <yuri(at)yrz(dot)am> wrote:
> create.sql:
> > drop database if exists segtest;
> > create database segtest;
> > \c segtest;
> > create table tcv_scene_datas(cv_scene_id bigint primary key) partition by range (cv_scene_id);
> > do $$
> > declare
> > i int;
> > range_start bigint;
> > range_end bigint;
> > partition_name text;
> > begin
> > for i in 0..100 loop
> > range_start := 1 + (i * 10000);
> > range_end := range_start + 10000;
> > partition_name := 'tcv_scene_datas_' || LPAD(i::TEXT, 3, '0');
> > execute format(
> > 'create table %I partition of tcv_scene_datas for values from (%s) to (%s)',
> > partition_name,
> > range_start,
> > range_end
> > );
> > end loop;
> > end $$;
> > insert into tcv_scene_datas(cv_scene_id) select id from generate_series(1,1_000_000) id;
>
> crash.sql:
> > \c segtest
> > with ids as (select (random()*1_000_000)::int id from generate_series(1,1000))
> > update tcv_scene_datas set cv_scene_id=cv_scene_id where cv_scene_id in(select id from ids);
>
> Launch crash.sql in 16 threads of infinite loops:
> > seq 16 | xargs -P 16 -I {} sh -c 'while true; do psql -f crash.sql; done'
>
> In 1-2 minutes, 5 processes died with segfault.
Perfect. Thank you.
It seems to be some more forgotten EPQ stuff from d47cbf474. Amit got
some of these in 8741e48e5, but evidently the test case didn't do
pruning during execution, (only init plan pruning) so the partition
directory wasn't needed.
The attached seems to fix it for me.
David
Attachment | Content-Type | Size |
---|---|---|
set_EPQs_es_partition_directory.patch | application/octet-stream | 1.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2025-10-15 22:51:35 | Re: BUG #19078: Segfaults in tts_minimal_store_tuple() following pg_upgrade |
Previous Message | Tom Lane | 2025-10-15 21:55:28 | Re: BUG #19086: pg_dump --data-only selects and do not uses index definitions for the dumped tables. |