Skip to content

Conversation

UdjinM6
Copy link

@UdjinM6 UdjinM6 commented Nov 26, 2020

Pls see individual commits, tl;dr:

@UdjinM6 UdjinM6 added this to the 17 milestone Nov 26, 2020
Copy link

@xdustinface xdustinface left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Serialization of CSporkManager also misses a lock for mapSporksByHash and mapSporksActive i guess? Doesn't matter that much because it currently only seems to be used by flatdb on start/shutdown but since we are on it here.. :)

Copy link

@xdustinface xdustinface left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK

@PastaPastaPasta PastaPastaPasta linked an issue Nov 28, 2020 that may be closed by this pull request
Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK

@PastaPastaPasta PastaPastaPasta changed the title Fix various (potential) locking issues evo/llmq/spork: Fix various (potential) locking issues Nov 28, 2020
@PastaPastaPasta PastaPastaPasta merged commit 757c99e into dashpay:develop Nov 28, 2020
@UdjinM6 UdjinM6 deleted the fixlockissues branch July 1, 2021 21:45
gades pushed a commit to cosanta/cosanta-core that referenced this pull request Mar 13, 2022
* Fix potential deadlock in `CSporkManager::UpdateSpork()`

* Protect `inputRequestIds` with cs lock

* Protect `curDBTransaction` in `CEvoDB::CommitRootTransaction()`

* Check for `AssertLockNotHeld` in `EnforceBestChainLock()` instead of just having a comment in code

* Protect spork maps on (de)serialization
Duddino pushed a commit to Duddino/PIVX that referenced this pull request Jan 14, 2025
* Fix potential deadlock in `CSporkManager::UpdateSpork()`

* Protect `inputRequestIds` with cs lock

* Protect `curDBTransaction` in `CEvoDB::CommitRootTransaction()`

* Check for `AssertLockNotHeld` in `EnforceBestChainLock()` instead of just having a comment in code

* Protect spork maps on (de)serialization
Duddino pushed a commit to Duddino/PIVX that referenced this pull request Jan 14, 2025
* Fix potential deadlock in `CSporkManager::UpdateSpork()`

* Protect `inputRequestIds` with cs lock

* Protect `curDBTransaction` in `CEvoDB::CommitRootTransaction()`

* Check for `AssertLockNotHeld` in `EnforceBestChainLock()` instead of just having a comment in code

* Protect spork maps on (de)serialization
Duddino pushed a commit to Duddino/PIVX that referenced this pull request Jan 14, 2025
* Fix potential deadlock in `CSporkManager::UpdateSpork()`

* Protect `inputRequestIds` with cs lock

* Protect `curDBTransaction` in `CEvoDB::CommitRootTransaction()`

* Check for `AssertLockNotHeld` in `EnforceBestChainLock()` instead of just having a comment in code

* Protect spork maps on (de)serialization
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Feb 1, 2025
595a672 Fix thread names to fit into 15 symbols (dashpay#3897) (UdjinM6)
2f492d4 evo/llmq/spork: Fix various (potential) locking issues (dashpay#3829) (UdjinM6)
453a74f Fix two potential issues in the way pending islocks are processed (dashpay#3678) (UdjinM6)
902809c replace `inter-quorum` with `intra-quorum` (dashpay#3642) (PastaPastaPasta)
46e51db Fix CSigningManager::VerifyRecoveredSig (dashpay#3546) (UdjinM6)
dd02dfd Use exponential backoff timeouts for recovery (dashpay#3535) (Alexander Block)

Pull request description:

  Each commits backports a different PR, as mentioned in the commit name

ACKs for top commit: 595a672
  Liquid369:
    ACK 595a672
  Fuzzbawls:
    utACK 595a672

Tree-SHA512: 4d66215d3b1944266802045f66d2bec1a9e4eb7c7e2bfb16fcaf16bafda7e47225b43129094081990a5a25a9b9f753e9071f30d357dbe51e592f3b824384a461
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

potential deadlock in spork.cpp
3 participants