Re: 048_vacuum_horizon_floor.pl hangs due to wakeup lost inside LockBufferForCleanup
Xuneng Zhou <xunengzhou@gmail.com>
From: Xuneng Zhou <xunengzhou@gmail.com>
To: Melanie Plageman <melanieplageman@gmail.com>
Cc: Alexander Lakhin <exclusion@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2026-06-23T16:20:48Z
Lists: pgsql-hackers
Attachments
- before-5310-cleanup-lock-reproducer.patch (application/octet-stream) patch 5310
Hi Melanie, > Does the reproducer pass prior to 5310fac6e0f? I've verified that the reproducer did pass prior to the commit. For a 20-times run of this test, every wait entered ProcWaitForSignal() and returned, and the "refcount already 1 after waiter publication" line never appeared. -- Regards, Xuneng Zhou HighGo Software Co., Ltd.
Commits
-
bufmgr: Fix race in LockBufferForCleanup()
- 74e93d0f0000 19 (unreleased) landed
- 8d85cb889a39 master landed
-
bufmgr: Use atomic sub for unpinning buffers
- 5310fac6e0fc 19 (unreleased) cited
-
bufmgr: Allow some buffer state modifications while holding header lock
- c75ebc657ffc 19 (unreleased) cited