Re: segmentation fault using currtid and partitioned tables
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Andres Freund <andres@anarazel.de>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, Jaime Casanova <jaime.casanova@2ndquadrant.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2020-06-01T02:20:55Z
Lists: pgsql-hackers
Attachments
- currtid-view-relcache.patch (text/x-diff) patch
On Mon, Jun 01, 2020 at 10:57:29AM +0900, Michael Paquier wrote: > Applied this one then. I also got to check the ODBC driver in more > details, and I am indeed not seeing those functions getting used. > One extra thing to know is that the ODBC driver requires libpq from at > least 9.2, which may give one more argument to just remove them. > > NB: prion has been failing, just looking into it. Woah. This one is old, good catch from -DRELCACHE_FORCE_RELEASE. It happens that since its introduction in a3519a2 from 2002, currtid_for_view() in tid.c closes the view and then looks at a RTE from it. I have reproduced the issue and the patch attached takes care of the problem. Would it be better to backpatch all the way down or is that not worth caring about? -- Michael
Commits
-
Fix use-after-release mistake in currtid() and currtid2() for views
- a8c6eb5b4c4c 9.5.23 landed
- e2fa9732fddc 9.6.19 landed
- a36f216209b8 10.14 landed
- 8bc74490df25 11.9 landed
- 894041eb262f 12.4 landed
- ce1c5b9ae87b 13.0 landed
-
Fix crashes with currtid() and currtid2()
- 95e389b3c2ea 12.4 landed
- e786be5fcb25 13.0 landed