Skip to content

Conversation

@PastaPastaPasta
Copy link
Member

No description provided.

@PastaPastaPasta PastaPastaPasta added this to the 18 milestone Sep 26, 2021
@PastaPastaPasta
Copy link
Member Author

I don't understand these test failures... Help wanted :)

@PastaPastaPasta PastaPastaPasta marked this pull request as draft September 28, 2021 18:07
@PastaPastaPasta PastaPastaPasta marked this pull request as ready for review September 28, 2021 21:23
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

@PastaPastaPasta
Copy link
Member Author

We'll see how the mac build likes that. Pay special attention to 21abbc7 (will try to resolve todo in a near future PR), would like your feedback / ensure I'm not crazy when it comes to livecycles / saftey there

@github-actions
Copy link

github-actions bot commented Oct 1, 2021

This pull request has conflicts, please rebase.

@github-actions
Copy link

github-actions bot commented Oct 1, 2021

This pull request has conflicts, please rebase.

@PastaPastaPasta
Copy link
Member Author

rebased

@PastaPastaPasta
Copy link
Member Author

I figured e80b67f would resolve these compilation errors, but I guess I'm missing something...

@github-actions
Copy link

github-actions bot commented Oct 5, 2021

This pull request has conflicts, please rebase.

Signed-off-by: pasta <pasta@dashboost.org>
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

mac build complains (werror) + see below

void CGovernanceObject::UpdateLocalValidity()
{
LOCK(cs_main);
LOCK(cs);
Copy link

Choose a reason for hiding this comment

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

👀

return false;
}
if (fCheckCollateral && !IsCollateralValid(strError, fMissingConfirmations)) {
if (fCheckCollateral && !WITH_LOCK(cs_main, return IsCollateralValid(strError, fMissingConfirmations))) {
Copy link

Choose a reason for hiding this comment

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

that's probably a deadlock

// RETRIEVE TRANSACTION IN QUESTION

if (!GetTransaction(nCollateralHash, txCollateral, Params().GetConsensus(), nBlockHash)) {
if (LOCK(cs); !GetTransaction(nCollateralHash, txCollateral, Params().GetConsensus(), nBlockHash)) {
Copy link

Choose a reason for hiding this comment

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

  1. that's also a deadlock potentially
  2. cs should be held already as per EXCLUSIVE_LOCKS_REQUIRED(cs, cs_main) in .h, maybe add AssertLockHelds for both locks at the start of the method

govobj.GetDataAsPlainString(), govobj.GetObjectType());

if (govobj.GetObjectType() == GOVERNANCE_OBJECT_TRIGGER && !triggerman.AddNewTrigger(nHash)) {
if (govobj.GetObjectType() == GOVERNANCE_OBJECT_TRIGGER && !WITH_LOCK(governance.cs, return triggerman.AddNewTrigger(nHash))) {
Copy link

Choose a reason for hiding this comment

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

for all governance.cs locks for triggerman here and below in this file - we hold cs already, no need to lock twice (I know you did this to silence werror probably but it feels like a wrong way to fix it)

@github-actions
Copy link

This Pull Request may conflict if the Pull Requests below are merged first.

#4649
conflictable files: src/governance/governance.cpp,src/governance/governance.h

@github-actions
Copy link

github-actions bot commented Feb 2, 2022

This pull request has conflicts, please rebase.

@UdjinM6 UdjinM6 removed this from the 18 milestone Oct 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants