Tuple sort is broken. It crashes on simple test.
Mithun Cy <mithun.cy@enterprisedb.com>
From: Mithun Cy <mithun.cy@enterprisedb.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>,
Robert Haas <robertmhaas@gmail.com>, Heikki Linnakangas <hlinnaka@iki.fi>
Date: 2017-01-16T10:14:47Z
Lists: pgsql-hackers
Test: ------ create table seq_tab(t int); insert into seq_tab select generate_series(1, 10000000); select count(distinct t) from seq_tab; #0 0x000000000094a9ad in pfree (pointer=0x0) at mcxt.c:1007 #1 0x0000000000953be3 in mergeonerun (state=0x1611450) at tuplesort.c:2803 #2 0x0000000000953824 in mergeruns (state=0x1611450) at tuplesort.c:2721 #3 0x00000000009521bc in tuplesort_performsort (state=0x1611450) at tuplesort.c:1813 #4 0x0000000000662b85 in process_ordered_aggregate_single (aggstate=0x160b540, pertrans=0x160d440, pergroupstate=0x160d3f0) at nodeAgg.c:1178 #5 0x00000000006636e0 in finalize_aggregates (aggstate=0x160b540, peraggs=0x160c5e0, pergroup=0x160d3f0, currentSet=0) at nodeAgg.c:1600 #6 0x0000000000664509 in agg_retrieve_direct (aggstate=0x160b540) at nodeAgg.c:2266 #7 0x0000000000663f66 in ExecAgg (node=0x160b540) at nodeAgg.c:1946 #8 0x0000000000650ad2 in ExecProcNode (node=0x160b540) at execProcnode.c:503 Git bisect shows me the following commit has caused it. commit Id e94568ecc10f2638e542ae34f2990b821bbf90ac Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2016-10-03 16:07:49 Committer: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2016-10-03 16:07:49 Change the way pre-reading in external sort's merge phase works. -- Thanks and Regards Mithun C Y EnterpriseDB: http://www.enterprisedb.com
Commits
-
Fix NULL pointer dereference in tuplesort.c.
- 4e46c97fde42 10.0 landed
-
Change the way pre-reading in external sort's merge phase works.
- e94568ecc10f 10.0 cited