Re: pg11.1 jit segv
Justin Pryzby <pryzby@telsasoft.com>
From: Justin Pryzby <pryzby@telsasoft.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org
Date: 2018-11-17T23:37:15Z
Lists: pgsql-hackers
On Fri, Nov 16, 2018 at 10:24:46AM -0600, Justin Pryzby wrote:
> On Fri, Nov 16, 2018 at 08:38:26AM -0600, Justin Pryzby wrote:
> > The table is not too special, but was probably ALTERed to add columns a good
> > number of times by one of our processes. It has ~1100 columns, including
> > arrays, and some with null_frac=1. I'm trying to come up with a test case
> > involving column types and order.
Try this ?
SELECT 'DROP TABLE t; CREATE TABLE t (a3 text, a1 int[], '||array_to_string(array_agg('c'||i||' bigint default 0'),',')||'); INSERT INTO t VALUES(0)' FROM generate_series(1,999) i;
\gexec
SET jit=on; SET jit_above_cost=0; SELECT a3 FROM t LIMIT 9;
That's given all sorts of nice errors:
ERROR: invalid memory alloc request size 18446744073709551613
ERROR: compressed data is corrupted
And occasionally crashes and/or returns unrelated data:
= '0', $21 = '0', $22 = '0', $23 = '0', $24 = '0', $25 = '2741'\x03
n 21782 :constvalue 4 [ 0 0 0 0 0 0 0 0 ]}) :location
Justin
Commits
-
Fix jit compilation bug on wide tables.
- aee085bc018f 11.2 landed
- b238527664ec 12.0 landed
-
Verify that expected slot types match returned slot types.
- 15d8f83128e1 12.0 cited
-
Rejigger materializing and fetching a HeapTuple from a slot.
- 763f2edd9209 12.0 cited