Re: BUG #17583: Server crashes on executing CROSS JOIN with very big number of tables

Richard Guo <guofenglinux@gmail.com>

From: Richard Guo <guofenglinux@gmail.com>
To: Егор Чиндяскин <kyzevan23@mail.ru>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-08-12T09:03:21Z
Lists: pgsql-bugs
On Fri, Aug 12, 2022 at 4:11 PM PG Bug reporting form <
noreply@postgresql.org> wrote:

> I got server crashed while executing the following query:
> (echo "SELECT * FROM t1 ";for((i=2;i<100000;i++));do echo "CROSS JOIN t$i
> ";done; echo ";") | psql
> with the following backtrace below:
> Core was generated by `postgres: egorchin egorchin [local] SELECT
>


Function transformFromClauseItem() is driven to stack overflow. We need
to add some check_stack_depth() checks here and maybe other more places.

Thanks
Richard

Commits

  1. Catch stack overflow when recursing in transformFromClauseItem().