Tuple sort is broken. It crashes on simple test.

From: Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Tuple sort is broken. It crashes on simple test.
Date: 2017-01-16 10:14:47
Message-ID: CAD__OujuhfWFULGFSt1fyHqUb8N-XafjJhudwt88V0Qs2o84qg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox
Thread:
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(dot)linnakangas(at)iki(dot)fi> 2016-10-03 16:07:49
Committer: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2017-01-16 10:24:22 Re: Too many autovacuum workers spawned during forced auto-vacuum
Previous Message Fujii Masao 2017-01-16 09:57:03 Re: Typo in condition_variable.c