BUG #19684: Assertion in tuplesort_begin_heap() falsified by parallel plan with sort

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: exclusion(at)gmail(dot)com
Subject: BUG #19684: Assertion in tuplesort_begin_heap() falsified by parallel plan with sort
Date: 2026-09-11 20:00:01
Message-ID: 19684-fa0b7fdc7d235fd9@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 19684
Logged by: Alexander Lakhin
Email address: exclusion(at)gmail(dot)com
PostgreSQL version: 19beta3
Operating system: Ubuntu 24.04
Description:

The following script:
SET cpu_tuple_cost = 1000;
SET min_parallel_table_scan_size = 1;

CREATE TABLE t(i int);
SELECT FROM t UNION SELECT FROM t;

triggers:
TRAP: failed Assert("nkeys > 0"), File: "tuplesortvariants.c", Line: 195,
PID: 1465852

EXPLAIN shows:
QUERY PLAN
-----------------------------------------------------------------------------------------------
Unique (cost=3188844.07..3188856.82 rows=2 width=0)
-> Sort (cost=3188844.07..3188856.82 rows=5100 width=0)
-> Gather (cost=1000.00..3188530.00 rows=5100 width=0)
Workers Planned: 2
-> Parallel Append (cost=0.00..3187020.00 rows=2124
width=0)
-> Parallel Seq Scan on t (cost=0.00..1062510.00
rows=1062 width=0)
-> Parallel Seq Scan on t t_1 (cost=0.00..1062510.00
rows=1062 width=0)

Without asserts enabled, SELECT succeeds and EXPLAIN (ANALYZE) shows the
same plan.

Reproduced starting from 66c0185a3/12933dc60.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Pierre Forstmann 2026-09-12 09:15:11 Re: BUG #19631: currtid2() on a view with GROUP BY ctid crashes with XX000
Previous Message Laurenz Albe 2026-09-11 15:16:21 Re: BUG #19683: Can a stale postmaster.pid affect connections after PostgreSQL has already started successfully?