Skip to content

Conversation

@Fuzzbawls
Copy link
Collaborator

Coming from dashpay#4240, bitcoin#20938, and bitcoin#21920, this resolves numerous compile-time inconsistencies/failures on certain combos of gcc and cpu arch that were observed on launchpad.net over the 5.4.0 release cycle.

@Fuzzbawls
Copy link
Collaborator Author

Example of failing build log: launchpad.net nightly PPA, Ubuntu 16.04 ARM64

Copy link

@furszy furszy left a comment

Choose a reason for hiding this comment

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

Code reviewed a2af7d9e
There is an undefined behavior on Dash backported PR.

Update: Never mind.., enable_shared_from_this is protecting it from happening.

Detection was lacking for some compiler/host combos, resulting in
erratic linking errors
Change ctpl implementation to use STL queue & mutex.

Use ctpl synchronized queue instead of boost lockfree queue in bls
worker aggregator.

Use smart pointers for memory management of Aggregator and
VectorAggregator. With 'delete this;' the objects are prone to data race
on the delete operator.

Use smart pointers for memory management of ContributionVerifier.

Pass shared_ptr by value to other threads via worker pool.
@Fuzzbawls Fuzzbawls force-pushed the 2021_fix-atomic-data-races branch from a2af7d9 to c76e7b6 Compare January 8, 2022 12:57
@Fuzzbawls
Copy link
Collaborator Author

Feedback tackled and rebased on current master

Copy link

@furszy furszy left a comment

Choose a reason for hiding this comment

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

ACK c76e7b6

Copy link

@random-zebra random-zebra left a comment

Choose a reason for hiding this comment

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

ACK c76e7b6

@furszy furszy merged commit f2b45fd into PIVX-Project:master Jan 9, 2022
@Fuzzbawls Fuzzbawls modified the milestones: 6.0.0, 5.5.0 Sep 11, 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