From: | Richard Guo <guofenglinux(at)gmail(dot)com> |
---|---|
To: | Kevin Oommen Anish <kevin(dot)o(at)zohocorp(dot)com> |
Cc: | 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 04:16:47 |
Message-ID: | CAMbWs4-ExA3HgnUJngzFJ+W-79hazKpgF0v4MLQw8G6=A3Xk7w@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Thu, Oct 2, 2025 at 12:56 AM Kevin Oommen Anish <kevin(dot)o(at)zohocorp(dot)com> wrote:
> Failed regression:
> CREATE TABLE pvactst2 (i INT) WITH (autovacuum_enabled = off);
> INSERT INTO pvactst2 SELECT generate_series(1, 1000);
> CREATE INDEX ON pvactst2 (i);
> CREATE INDEX ON pvactst2 (i);
> SET min_parallel_index_scan_size to 0;
> SET maintenance_work_mem TO 64;
> INSERT INTO pvactst2 SELECT generate_series(1, 1000);
> DELETE FROM pvactst2 WHERE i < 1000;
> VACUUM (PARALLEL 2) pvactst2;
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).
@@ -212,6 +212,7 @@ TidStoreCreateShared(size_t max_bytes, int tranche_id)
size_t dsa_init_size = DSA_DEFAULT_INIT_SEGMENT_SIZE;
size_t dsa_max_size = DSA_MAX_SEGMENT_SIZE;
+ ts = palloc0(sizeof(TidStore));
ts = palloc0(sizeof(TidStore));
- Richard
From | Date | Subject | |
---|---|---|---|
Next Message | John Naylor | 2025-10-02 05:09:47 | Re: [Bug] Usage of stale dead_items pointer in parallel vacuum |
Previous Message | Tom Lane | 2025-10-02 01:44:01 | Re: BUG #19062: PostgreSQL 12.22 does not compile because of conflicting types for CollationCreate |