Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault

From: Tender Wang <tndrwang(at)gmail(dot)com>
To: Amit Langote <amitlangote09(at)gmail(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault
Date: 2024-10-16 09:11:35
Message-ID: CAHewXN=hHQepA9-JHaW9z-orPE-qA2UEFNvAvLpYZr6e1PGq2Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Amit Langote <amitlangote09(at)gmail(dot)com> 于2024年10月16日周三 17:06写道:

> On Wed, Oct 16, 2024 at 5:20 PM Tender Wang <tndrwang(at)gmail(dot)com> wrote:
> > Amit Langote <amitlangote09(at)gmail(dot)com> 于2024年10月16日周三 08:35写道:
> >>
> >> On Wed, Oct 16, 2024 at 9:19 AM Michael Paquier <michael(at)paquier(dot)xyz>
> wrote:
> >> > On Tue, Oct 15, 2024 at 11:00:01AM +0000, PG Bug reporting form wrote:
> >> > > First bad commit for this anomaly is b6e1157e7.
> >> >
> >> > Amit, any thoughts?
> >>
> >> Will look into it, thanks.
> > Hi,
> >
> > I debug this issue, and I find that:
> > after b6e1157e7, we shouldn't walk JsonValueExpr.raw_expr in
> expression_tree_walker_impl(), which
> > is called in preprocess_aggrefs().
> >
> > I try to above solution, no crashed again.
>
> Thanks for the analysis. That is my conclusion as well.
>
> Attached a patch.
>
>
Yeah, yours look more better than mine. And the typo in my attached patch,
is that right?
JSON_OBJECT() should be JSON_OBJECTAGG() near transformJsonObjectAgg()

--
Thanks,
Tender Wang

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Amit Langote 2024-10-16 09:14:35 Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault
Previous Message Amit Langote 2024-10-16 09:06:33 Re: BUG #18657: Using JSON_OBJECTAGG with volatile function leads to segfault