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

Revert "use Go 1.14's embedded interfaces, update CIs" #2446

Closed
wants to merge 1 commit into from

Conversation

Stebalien
Copy link

This reverts commit c88a690.

Unfortunately, go 1.14's new scheduler and timer changes have a few bugs that need to be ironed out before it's ready for production use.

See:

This reverts commit c88a690.

Unfortunately, go 1.14's new scheduler and timer changes have a few bugs that
need to be ironed out before it's ready for production use.

See:
* libp2p/go-libp2p#858
* golang/go#38119
@Stebalien
Copy link
Author

Looks like we'll also need to downgrade qtls.

@marten-seemann
Copy link
Member

@Stebalien Looking at the discussion in golang/go#38119, is my understanding correct that we don't need to do this downgrade as long as we compile everything with Go 1.14.2?

@Stebalien
Copy link
Author

Stebalien commented Mar 31, 2020 via email

@marten-seemann
Copy link
Member

This is a situation that Go Modules seems not well equipped to handle.

The issue here is that in Go 1.14, crypto/tls made some significant changes regarding the certificate selection, e.g. by adding additional fields and functions to the tls.ClientHelloInfo (which I then transferred over to qtls). If we want to downgrade to Go 1.13, we also have to downgrade qtls to an earlier version. Which means that users of quic-go who use Go 1.14 will find those new features broken / not implemented.

As far as I can see, there's no way of telling Go to use version x of a dependency when built with Go 1.13 and version y if built with Go 1.14. Or am I missing something?

@Stebalien
Copy link
Author

You'd either have to release a qtls version with go 1.13 support using build flags, or downgrade. We can also do this in a set of separate branches.

@lucas-clemente
Copy link
Member

Can you just downgrade quic-go to the previous version in libp2p?

@marten-seemann
Copy link
Member

Not really. We need the qlogs to evaluate and debug transfers, and that only added in the last few weeks.

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.

None yet

3 participants