Skip to content

Conversation

@UdjinM6
Copy link

@UdjinM6 UdjinM6 commented Mar 2, 2016

Ugh.. I think I finally found it (again, but this time it should be the very last time) :)

The issue was caused by pnode->fDisconnect = true in CMasternodeMan::ProcessMasternodeConnections(). ConnectNode() increments reference count and we should just decrease it (via calling Release()) at the right time instead of changing flag directly. Otherwise some cleanup code was never triggered and we were stalling forever. To avoid situation when we could decrease it multiple times (which not only doesn't make sense but also that would trigger assert), flag pnode->fDarkSendMaster should also be set to false.

I also added Release() to some other parts of our code and fixed the way ConnectNode() is called there (true -> false, see notes at https://github.com/dashpay/dash/compare/v0.12.1.x...UdjinM6:fixNoNewBlocks?expand=1#diff-1a8b9d1ad0a6fda5e751286c73102fc2R358)

@UdjinM6 UdjinM6 added the bug label Mar 2, 2016
@schinzelh
Copy link

Nice catch - does it make sense to backport this to 0.12.0.x? As it seems the hangups during mixing are quite annoying...

@UdjinM6
Copy link
Author

UdjinM6 commented Mar 2, 2016

Yep, I guess it makes sense.

@schinzelh
Copy link

Merged, thanks!

@UdjinM6 UdjinM6 deleted the fixNoNewBlocks branch March 7, 2016 03:03
@UdjinM6 UdjinM6 mentioned this pull request May 10, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants