From 1cf44ab0f7bfc9d5221ce19f162b3e07ab42c567 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Tue, 11 May 2021 11:11:37 +1200 Subject: [PATCH 2/3] Don't access a local locks after freeing them. --- src/backend/storage/lmgr/lock.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index 108b4d9023..8642afc275 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -1390,15 +1390,15 @@ RemoveLocalLock(LOCALLOCK *locallock) SpinLockRelease(&FastPathStrongRelationLocks->mutex); } - if (!hash_search(LockMethodLocalHash, - (void *) &(locallock->tag), - HASH_REMOVE, NULL)) - elog(WARNING, "locallock table corrupted"); - /* * Indicate that the lock is released for certain types of locks */ CheckAndSetLockHeld(locallock, false); + + if (!hash_search(LockMethodLocalHash, + (void *) &(locallock->tag), + HASH_REMOVE, NULL)) + elog(WARNING, "locallock table corrupted"); } /* -- 2.30.2