Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.28.1 #2375

Merged
merged 3 commits into from
Jun 20, 2023
Merged

Release v0.28.1 #2375

merged 3 commits into from
Jun 20, 2023

Conversation

MarcoPolo
Copy link
Collaborator

Fixes a deadlock that can occur when consumers don't pull from an event channel because they're waiting for the swarm conns lock.

* fix: in the swarm move Connectedness emit after releasing conns

go-libp2p-kad-dht now listen to both EvtPeerIdentificationCompleted and EvtPeerConnectednessChanged
and EvtPeerIdentificationCompleted calls .ConnsToPeer inorder to do some filtering.

However it happens that it deadlocks because if the swarm is trying to emit a EvtPeerConnectednessChanged
while the subscriber is trying to process an EvtPeerIdentificationCompleted, the subscriber is stuck on
s.conns.RLock() while the swarm wont release it before having sent EvtPeerConnectednessChanged.
Deadlock !

I havn't confirmed this fixes my bug given this takes time to reproduce, I'll startup a new experiment soon.

* Fix other deadlock and add a test

* Make test a little faster

* Bind on localhost

---------

Co-authored-by: Marco Munizaga <git@marcopolo.io>
@marten-seemann
Copy link
Contributor

Same here, would be safer to put the version commit last.

@marten-seemann
Copy link
Contributor

Fixed the commit order, and updated the release notes.

@github-actions
Copy link

Suggested version: v0.28.1

Comparing to: v0.28.0 (diff)

Changes in go.mod file(s):

(empty)

gorelease says:

gorelease: go: updates to go.sum needed, disabled by -mod=readonly

gocompat says:

Your branch is up to date with 'origin/release-v028'.

Cutting a Release (when not on master)

This PR is targeting release-v028, which is not the default branch.
If you wish to cut a release once this PR is merged, please add the release label to this PR.

Cutting a Release (and modifying non-markdown files)

This PR is modifying both version.json and non-markdown files.
The Release Checker is not able to analyse files that are not checked in to release-v028. This might cause the above analysis to be inaccurate.
Please consider performing all the code changes in a separate PR before cutting the release.

Automatically created GitHub Release

A draft GitHub Release has been created.
It is going to be published when this PR is merged.
You can modify its' body to include any release notes you wish to include with the release.

@marten-seemann marten-seemann merged commit c358b81 into release-v028 Jun 20, 2023
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.

3 participants