Fix crash if LockErrorCleanup() is called twice
authorHeikki Linnakangas
Fri, 28 Mar 2025 18:19:17 +0000 (20:19 +0200)
committerHeikki Linnakangas
Fri, 28 Mar 2025 18:19:17 +0000 (20:19 +0200)
commit51a0382e8d8793b5cc89b69285e5ecdffe03c2bf
tree792bb0e8b09ebb05d0df3b4da19853302f7ae207
parent9ac6f7e7ceb6e7c9b168bbf02bbe4662782dfa6e
Fix crash if LockErrorCleanup() is called twice

The refactoring in commit 3c0fd64fec removed the clearing of
awaitedLock from LockErrorCleanup(). It's still needed, otherwise
LockErrorCleanup() during abort processing will try to update the
LOCALLOCK struct even after the lock has already been released. Put it
back.

Reported-by: Richard Guo
Reported-by: Robins Tharakan
Reported-by: Alexander Lakhin
Discussion: https://www.postgresql.org/message-id/flat/CAMbWs4_dNX1SzBmvFdoY-LxJh_4W_BjtVd5i008ihfU-wFF=eg@mail.gmail.com
Discussion: https://www.postgresql.org/message-id/18832-38e5575b1bbd7277@postgresql.org
Discussion: https://www.postgresql.org/message-id/e11a30e5-c0d8-491d-8546-3a1b50c10ad4@gmail.com
src/backend/storage/lmgr/lock.c
src/backend/storage/lmgr/proc.c
src/include/storage/lock.h