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

Received a stateless reset with token ... appears during stream usage #3077

Closed
wlynxg opened this issue Dec 3, 2024 · 3 comments
Closed

Comments

@wlynxg
Copy link
Contributor

wlynxg commented Dec 3, 2024

Version Information
github.com/libp2p/go-libp2p v0.36.2
When I use libp2p to open a stream to transfer data, I occasionally get the error
received a stateless reset with token 355abd61fe97299be595e62a4b052db6

This error does not appear when the stream is opened, but during the use of the stream.

It often occurs when I frequently restart the same libp2p node.

I would like to know what caused this error

@marten-seemann
Copy link
Contributor

This might be helpful: https://quic-go.net/docs/quic/transport/#stateless-reset

@wlynxg
Copy link
Contributor Author

wlynxg commented Dec 3, 2024

Thank you very much for your help.

I read the document you mentioned and the description of Stateless Reset in the associated RFC9000 10.3.
I have a few questions after reading them and I hope you can help me answer them.

  1. In my understanding, Stateless Reset is a means for the server to quickly terminate old connections. But why do I also receive a Stateless Reset packet when my libp2p instance is restarted?
  2. I looked at libp2p's use of the QUIC protocol, and I found that for TLS, libp2p seems to generate it from the peer ID?
  3. Is it because of this special processing that the QUIC connection of the restarted libp2p is considered an old connection, so it receives a Stateless Reset packet?

@wlynxg
Copy link
Contributor Author

wlynxg commented Dec 4, 2024

Thanks again for your help, my problem has been solved.

@wlynxg wlynxg closed this as completed Dec 4, 2024
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

No branches or pull requests

2 participants