-
Notifications
You must be signed in to change notification settings - Fork 651
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
@grpc/grpc-js: tryShutdown freeze app #1458
Comments
A change that should fix this is now out in version 1.1.0. |
Today I ran into almost exactly the same problem with I can reproduce it from my repo, and I hope I can make a minimum reproducible code then I'll post it to the issue. |
I'm facing a similar problem, but |
Is there a way to report what sessions/connections are still live when it's trying to shutdown? |
Can you share some code that demonstrates the error you are describing? That seems like a bug. |
I have some notes in And I guess this problem is related to And there have a unit test linked in my issue and it can reproduce the problem. |
I cloned your repository and set it up by running
But I can't get the tests to run. I get these errors:
|
@murgatroid99 Thanks for trying to reproduce this problem! I have just created a branch to reproduce this bug, please see my PR at Please feel free to let me know if you have any questions, and I really hope we can fix this problem for a better gRPC JS state management. |
I was able to get some logs by setting the environment variables In the PR you linked, you are awaiting the result of |
Problem description
If client crashes or exits before server calls
call.end()
,server.tryShutdown(callback)
freezes app. Server has http2session which is closed, somaybeCallback
doesn't decrementpendingChecks
, andcallback
is never called (if tryShutdown was promisified it never resolves).Reproduction steps
Create server-side stream (hellostreamingworld.proto), end client app before server calls
call.end()
.(client - greater_client.js without changes)
Environment
Additional information
server output:
The text was updated successfully, but these errors were encountered: