-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Stack overflow when using a client with a broken connection #191
Comments
bmwill
changed the title
Stack overflow when using a service with a broken connection
Stack overflow when using a client with a broken connection
Dec 15, 2019
LucioFranco
pushed a commit
that referenced
this issue
Dec 15, 2019
b90c340 (feat(transport): Allow custom IO and UDS example (#184), 2019-12-13) changed the Connector type to be more generic instead of only allowing the HttpConnector type, during this change the `Service::poll_ready` impl was changed from calling `MakeConnection::poll_ready` on `self.http` to `self` resulting in infinite recursion due to the blanket imple of `MakeConnection::poll_ready` calling `Service::poll_ready`. This fixes the bug by calling `MakeConnection::poll_ready` on `self.inner` instead of `self`. Fixes #191
rabbitinspace
pushed a commit
to satelit-project/tonic
that referenced
this issue
Jan 1, 2020
b90c340 (feat(transport): Allow custom IO and UDS example (hyperium#184), 2019-12-13) changed the Connector type to be more generic instead of only allowing the HttpConnector type, during this change the `Service::poll_ready` impl was changed from calling `MakeConnection::poll_ready` on `self.http` to `self` resulting in infinite recursion due to the blanket imple of `MakeConnection::poll_ready` calling `Service::poll_ready`. This fixes the bug by calling `MakeConnection::poll_ready` on `self.inner` instead of `self`. Fixes hyperium#191
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Since #187 landed I figured I would try to see if my simple hello world example would work on the latest master where I use the following client, connect to the helloworld-server, wait for a few RPCs then kill the server.
Unexpectedly I instead am greeted by a stack overflow (instead of an error) when I kill the server:
Stack Trace
From the stack trace it looks like the
Service::poll_ready
impl forConnector
callsMakeConnection::poll_ready
andMakeConnection::poll_ready
callsService::poll_ready
resulting in an infinite loop.I tried to bisect the stack overflow and it appears that
b90c340 (feat(transport): Allow custom IO and UDS example (#184), 2019-12-13) may be the culprit.
The text was updated successfully, but these errors were encountered: