BUG #17591: elog(ERROR) cause SharedSnapshotLock deadlock
От | PG Bug reporting form |
---|---|
Тема | BUG #17591: elog(ERROR) cause SharedSnapshotLock deadlock |
Дата | |
Msg-id | 17591-6ae23a6598b64c4e@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #17591: elog(ERROR) cause SharedSnapshotLock deadlock
Re: BUG #17591: elog(ERROR) cause SharedSnapshotLock deadlock |
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 17591 Logged by: ma liangzhu Email address: ma100@hotmail.com PostgreSQL version: 14.5 Operating system: centos7 Description: in lock.c, we can see code Release lock before return , e.g. ```c 996: LockAcquireExtended { LWLockAcquire(partitionLock, LW_EXCLUSIVE); proclock = SetupLockInTable( ); if (!proclock) { LWLockRelease(partitionLock); --- Release lock before return ereport(ERROR,) } } ``` bug we can see some code doesn't release the lock. Does it may cause deadlock? ```c LockRelease() { LWLockAcquire(partitionLock, LW_EXCLUSIVE); lock = locallock->lock; if (!lock) { lock = (LOCK *) hash_search_with_hash_value( ); if (!lock) 2126: elog(ERROR, "failed to re-find shared lock object"); -- exit without release } ```
В списке pgsql-bugs по дате отправления: