From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Peter Geoghegan <pg(at)bowt(dot)ie> |
Cc: | Aleksandr Parfenov <a(dot)parfenov(at)postgrespro(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: PostgreSQL crashes with SIGSEGV |
Date: | 2018-02-08 00:41:48 |
Message-ID: | 10697.1518050508@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
Peter Geoghegan <pg(at)bowt(dot)ie> writes:
> On Wed, Jan 17, 2018 at 2:23 PM, Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
>> A complicating factor for this fix of mine is that mode_final() seems
>> to have its own ideas about tuple memory lifetime, over and above what
>> tuplesort_getdatum() explicitly promises, as can be seen here:
>> /*
>> * Note: we *cannot* clean up the tuplesort object here, because the value
>> * to be returned is allocated inside its sortcontext. We could use
>> * datumCopy to copy it out of there, but it doesn't seem worth the
>> * trouble, since the cleanup callback will clear the tuplesort later.
>> */
>> ISTM that either grouping sets or mode_final() must necessarily be
>> wrong, because each oversteps, and infers a different contract from
>> tuplesort tuple fetching routines (different assumptions about memory
>> contexts are made in each case). Only one can be right, unless it's
>> okay to have one rule for tuplesort_getdatum() and another for
>> tuplesort_gettupleslot() (which seems questionable to me). I still
>> think that grouping sets is right (and that mode_final() is wrong). Do
>> you?
> It would be nice to get an opinion on this mode_final() + tuplesort
> memory lifetime business from you, Tom.
I'm fairly sure that that bit in mode_final() was just a hack to make
it work. If there's a better, more principled way, let's go for it.
> Note that you removed the quoted comment within be0ebb65, back in October.
There were multiple instances of basically that same comment before.
AFAICS I just consolidated them into one place, in the header comment for
ordered_set_shutdown.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Salvador Jacinto | 2018-02-08 02:35:51 | Re: BUG #15036: Un-killable queries Hanging in BgWorkerShutdown |
Previous Message | Thomas Munro | 2018-02-08 00:34:18 | Re: BUG #15036: Un-killable queries Hanging in BgWorkerShutdown |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2018-02-08 01:26:20 | Re: update tuple routing and triggers |
Previous Message | Claudio Freire | 2018-02-08 00:21:29 | Re: [HACKERS] Vacuum: allow usage of more than 1GB of work mem |