Re: pg11.1 jit segv
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Justin Pryzby <pryzby@telsasoft.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@postgresql.org
Date: 2018-11-27T08:26:55Z
Lists: pgsql-hackers
Attachments
Hi, On 2018-11-26 22:56:09 -0600, Justin Pryzby wrote: > On Mon, Nov 26, 2018 at 07:00:35PM -0800, Andres Freund wrote: > > Could you check that the attached patch this also fixes your original > > issue? Going through the code to see if there's other occurances of > > this. > > Confirmed that fixes my crash. Thanks a lot for narrowing down your crash to something I can reproduce! Here's a more complete patch, with a testcase. Tom, the test creates a 1100k column table (using \set ECHO none + gexec), but with a small row. Currently it's not dropped after the table, as I thought it might be worthwhile to be tested by pg_dump/upgrade etc too. You're probably the person most concerned with test runtimes, ... Any concerns about that? The table creation is quick*, on the order of 30ms. Greetings, Andres Freund *at least as long as there's no default columns and the table's not dropped, seems we have somewhat of an O(N^2) situation going on when dropping a table with many columns that have default columns - we re-build the cache entry after each dropped default value. But as the max is 1600 columns, that's not too bad.
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