Re: BUG #16978: Nested CTEs give ERROR in v13
От | Bruce Momjian |
---|---|
Тема | Re: BUG #16978: Nested CTEs give ERROR in v13 |
Дата | |
Msg-id | 20210423180322.GD7629@momjian.us обсуждение исходный текст |
Ответ на | Re: BUG #16978: Nested CTEs give ERROR in v13 (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-bugs |
On Fri, Apr 23, 2021 at 11:37:35AM -0400, Tom Lane wrote: > Bruce Momjian <bruce@momjian.us> writes: > > On Fri, Apr 23, 2021 at 10:08:06AM -0400, Tom Lane wrote: > >> FWIW, I don't see any error from this, either in HEAD or the > >> back branches. > > > Uh, I don't see the failure in 13 head or master, but I do see it from a > > 13.2 tree checkout. I will try to find the post-13.2 commit cause. > > Oh! > > [ checks commit log ] > > I bet it's 80ca8464f. Confirmed. The bug was added by this commit in July 2019: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1cff1b95a and was included in PG 13. It was fixed by this post-PG 13.2 commit on February 26, 2021: https://git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=80ca8464f The commit message is very clear: makeDependencyGraphWalker and checkWellFormedRecursionWalker thought they could hold onto a pointer to a list's first cons cell while the list was modified by recursive calls. That was okay when the cons cell was actually separately --> palloc'd ... but since commit 1cff1b95a, it's quite unsafe, leading to core dumps or incorrect complaints of faulty WITH nesting. --> In the field this'd require at least a seven-deep WITH nest to cause an issue, but enabling DEBUG_LIST_MEMORY_USAGE allows the bug to be seen with lesser nesting depths. Per bug #16801 from Alexander Lakhin. Back-patch to v13. It mentions the commit it fixed, and the fact that "this'd require at least a seven-deep WITH nest to cause an issue", which is exactly what you saw. :-) I am attaching this later patch in a version that will cleanly apply to PG 13.2, in case you need it. If not, the fix will appear in 13.3 which will be released on May 13, 2021. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.
Вложения
В списке pgsql-bugs по дате отправления: