Skip to content

Fix atomic property setters held spinlock during release causing deadlocks#385

Merged
davidchisnall merged 2 commits into
gnustep:masterfrom
johnathan-becker:attempt-fix-deadlock
May 20, 2026
Merged

Fix atomic property setters held spinlock during release causing deadlocks#385
davidchisnall merged 2 commits into
gnustep:masterfrom
johnathan-becker:attempt-fix-deadlock

Conversation

@johnathan-becker
Copy link
Copy Markdown
Contributor

Atomic property setters were releasing the old value while still holding the spinlock. Since release can invoke dealloc, which may access other atomic properties, this deadlocked on re-entry. Also fixed DoubleLockGuard swapping constructor parameters instead of member variables, which left members in unsorted order and triggered the destructor assert.

@johnathan-becker
Copy link
Copy Markdown
Contributor Author

@davidchisnall I believe a workflow needs started here.

@davidchisnall davidchisnall merged commit 3fda0e2 into gnustep:master May 20, 2026
94 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants