Re: PostgreSQL crashes with SIGSEGV

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Aleksandr Parfenov <a.parfenov@postgrespro.ru>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-01-17T20:31:22Z
Lists: pgsql-bugs, pgsql-hackers
Peter Geoghegan <pg@bowt.ie> writes:
> On Wed, Jan 17, 2018 at 11:23 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I don't feel particularly comfortable committing a patch that
>> was clearly labeled as a rushed draft by its author.
>> Peter, where do you stand on this work?

> I would like to take another pass over
> WIP-tuplesort-memcontext-fix.patch, to be on the safe side. I'm
> currently up to my neck in parallel CREATE INDEX work, though, and
> would prefer to avoid context switching for a week or two, if
> possible. How time sensitive do you think this is?

Probably not very.  It'd be nice to have it done by the next minor
releases, ie before 5-Feb ... but given that these bugs are years
old, missing that deadline would not be catastrophic.

> I'm not sure whether or not we should also apply this
> still-to-be-written 9.5 patch to 9.4 and 9.3, since those versions
> don't have grouping sets, and so cannot crash. ISTM that we should
> leave them alone, since tuplesort has had this problem forever.

+1.  If the problem isn't known to be reproducible in those branches,
the risk of adding new bugs seems to outweigh any benefit.

			regards, tom lane


Commits

  1. Fix actual and potential double-frees around tuplesort usage.

  2. Allow the built-in ordered-set aggregates to share transition state.

  3. Avoid integer overflow while sifting-up a heap in tuplesort.c.

  4. Allow avoiding tuple copy within tuplesort_gettupleslot().

  5. Remove should_free arguments to tuplesort routines.

  6. Fix use-after-free around DISTINCT transition function calls.

  7. Reuse abbreviated keys in ordered [set] aggregates.