Re: pg11.1 jit segv

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@postgresql.org
Date: 2018-11-16T00:17:51Z
Lists: pgsql-hackers
Hi,

On 2018-11-15 18:11:05 -0600, Justin Pryzby wrote:
> On Thu, Nov 15, 2018 at 06:03:34PM -0600, Justin Pryzby wrote:
> > Verbose plan, munged for brevity/sanity due to joining wide tables, and
> > redacted since the view probably has to be considered proprietary.  Hopefully
> > the remaining bits are still useful.  I replaced column names with x.
> 
> Actually the view isn't as intricate as I thought, but I'd like to avoid
> publishing it for sake of simplicity.  I replaced the view with its underlying
> table and now I get:
> 
> [pryzbyj@database ~]$ time psql ts -f tmp/sql-jit-crash-2018-11-15.jtp 
> psql:tmp/sql-jit-crash-2018-11-15.jtp:12: ERROR:  invalid memory alloc request size 2447889552
> 
> It's unclear if that's a useful hint, a separate problem, or a nonissue..

It's probably the same / closely related issue. ISTM that JITed
deforming either doesn't deform correctly, or skips deforming
erroneously.

I'm about to commit some changes to 12/master that'd possibly make it
easier to find issues like this. Is there any chance that it's easier to
repro this on master than making a reproducible test case?

Greetings,

Andres Freund


Commits

  1. Fix jit compilation bug on wide tables.

  2. Verify that expected slot types match returned slot types.

  3. Rejigger materializing and fetching a HeapTuple from a slot.