Re: BUG #18828: Crash when pg_get_logical_snapshot_meta() passed empty string

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, tharakan(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18828: Crash when pg_get_logical_snapshot_meta() passed empty string
Date: 2025-03-04 20:11:07
Message-ID: CAD21AoDRmWGyQeAdk007kTMHVdFnvPOBvd2iJYB7AqOReQSXWw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Mar 4, 2025 at 2:45 AM Bertrand Drouvot
<bertranddrouvot(dot)pg(at)gmail(dot)com> wrote:
>
> Hi,
>
> On Tue, Mar 04, 2025 at 07:38:14AM +0000, Bertrand Drouvot wrote:
> > PFA 0001 a new version to also parse the ".snap".
>
> PFA v3 (a slightly different version) to "correctly" use the new report_error
> introduced in v2.

Thank you for the patch! I agree to have some regression tests for that.

Looking at the 0001 patch, it seems that the pg_logicalinspect
functions still accepts invalid filenames as follows:

postgres(1:2713976)=# select
pg_get_logical_snapshot_info('0-40796E18.foo.snap');
ERROR: could not open file "pg_logical/snapshots/0-40796E18.snap": No
such file or directory

Regarding the 0002 patch, TBH I'm confused about what the original
comment intended to mean. I thought that it means that we don't need
to use a critical section for fsync_fname() calls to promote the fsync
error. If that's right, it would be better to update the comment
instead of removing it.

Regards,

--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Masahiko Sawada 2025-03-04 21:28:11 Re: BUG #18828: Crash when pg_get_logical_snapshot_meta() passed empty string
Previous Message Dean Rasheed 2025-03-04 18:56:34 Re: BUG #18830: ExecInitMerge Segfault on MERGE