Re: [Bug] Usage of stale dead_items pointer in parallel vacuum

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: John Naylor <johncnaylorls(at)gmail(dot)com>
Cc: Kevin Oommen Anish <kevin(dot)o(at)zohocorp(dot)com>, pgsql-bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: [Bug] Usage of stale dead_items pointer in parallel vacuum
Date: 2025-10-02 09:33:02
Message-ID: CAMbWs4-0B0MjTdDFmtzKS8_2ZETzK8zmk_7DuHy3Xz_3=64EQQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Oct 2, 2025 at 2:09 PM John Naylor <johncnaylorls(at)gmail(dot)com> wrote:
> On Thu, Oct 2, 2025 at 11:17 AM Richard Guo <guofenglinux(at)gmail(dot)com> wrote:
> > I can reproduce the issue and confirm that your patch fixes it. I
> > didn't use your custom malloc allocator but instead applied a
> > redundant palloc0 for TidStore in TidStoreCreateShared(), hoping to
> > get a different chunk of memory (haha).

> I'm starting to wonder if we should have something similar to that
> allocator in core, which is actually here and not in the link
> upthread:

+1. This issue is more like a reuse-after-free rather than a
use-after-free, and it doesn't seem easy to detect with current tools.
This kind of allocator seems to be quite useful -- it has helped catch
at least two bugs in our code so far.

- Richard

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Etsuro Fujita 2025-10-02 11:01:07 Re: TRAP: failed Assert("outerPlan != NULL") in postgres_fdw.c
Previous Message White, Ian Keith 2025-10-02 08:32:02 RE: IN List operator , where list of values are over a number of lines