Re: BUG #16036: Segmentation fault while doing an update

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Антон Власов <druidvav@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-bugs@lists.postgresql.org
Date: 2019-10-04T21:43:00Z
Lists: pgsql-bugs
Hi,

Thanks again for the bug report! I've pushed the fix, and tests. They'll
be included in 12.1 (which I assume will happen relatively soon), or you
can compile a slightly newer version yourself.

Regards,

Andres


On 2019-10-04 12:28:48 -0700, Andres Freund wrote:
> On 2019-10-03 21:30:21 -0700, Andres Freund wrote:
> > Here's 1, 2 & 4, working on fixing 3).  While we now have OK-ish
> > coverage for nodeModifyTable.c and nodeLockRows.c triggered EPQ, there's
> > not much for the trigger case.

> Here's both the fix and tests.
> 
> I think the test adds a good bit coverage. What's lacking is primarily
> testing foreign table related paths, but that seems separate enough, and
> would need to be done in a separate contrib/ test anyway.
> 
> I think there's a good case to be made to backpatch the tests further
> than 12, but I'm not sure about it? They do pass (with one error message
> about a failure to delete changed to a failure to update, we didn't use
> to be able to discern) back to 9.6, requiring

I did push the tests back to 9.6.

Greetings,

Andres Freund



Commits

  1. Disable one more set of tests from c8841199509.

  2. Disable one set of tests from c8841199509.

  3. Add isolation tests for the combination of EPQ and triggers.

  4. Fix crash caused by EPQ happening with a before update trigger present.

  5. Modify the isolation tester so that multiple sessions can wait.