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:22:57Z
Lists: pgsql-bugs

Attachments

On Fri, Aug 12, 2022 at 5:03 PM Richard Guo <guofenglinux@gmail.com> wrote:

>
> 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.
>

Attach a patch to add the check for transformFromClauseItem.

Thanks
Richard

Commits

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