From: | David Rowley <drowley(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Fix possible Assert failure in verify_compact_attribute() |
Date: | 2025-06-16 22:50:27 |
Message-ID: | [email protected] |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix possible Assert failure in verify_compact_attribute()
Sometimes the TupleDesc used in verify_compact_attribute() is shared
among backends, and since CompactAttribute.attcacheoff gets updated
during tuple deformation, it was possible that another backend would
set attcacheoff on a given CompactAttribute in the small window of time
from when the attcacheoff from the live CompactAttribute was being set
in the 'tmp' CompactAttribute and before the Assert verifying that the
live and tmp CompactAttributes matched.
Here we adjust the code to make a copy of the live CompactAttribute so
that we're not trying to Assert against a shared copy of it.
Author: David Rowley <dgrowleyml(at)gmail(dot)com>
Reported-by: Alexander Lakhin <exclusion(at)gmail(dot)com>
Discussion: https://postgr.es/m/[email protected]
Branch
------
master
Modified Files
--------------
src/backend/access/common/tupdesc.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Masahiko Sawada | 2025-06-17 00:37:51 | pgsql: Fix re-distributing previously distributed invalidation messages |
Previous Message | Andres Freund | 2025-06-16 17:12:08 | pgsql: aio: Add missing memory barrier when waiting for IO handle |