grpc / grpc/grpc-dotnet

dev: Grpc.Net.Client throws System.Net.Http.HttpIOException

Open
#2,638 3 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
4.5k
Forks
835
Avg merge
6d 3h
Merged PRs (30d)
7

Description

```
Unhandled exception. System.Net.Http.HttpIOException: The response ended prematurely while waiting for the next frame from the server. (ResponseEnded)
at System.Net.Http.Http2Connection.ThrowRequestAborted(Exception innerException)
at System.Net.Http.Http2Connection.Http2Stream.SendDataAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
at Grpc.Net.Client.Internal.StreamExtensions.WriteMessageAsync[TMessage](Stream stream, GrpcCall call, TMessage message, Action`2 serializer, CallOptions callOptions)
at Grpc.Net.Client.Internal.HttpContentClientStreamWriter`2.WriteAsyncCore[TState](Func`5 writeFunc, TState state, CancellationToken cancellationToken)
at Grpc.Net.Client.Internal.HttpContentClientStreamWriter`2.WriteCoreAsync(TRequest message, CancellationToken cancellationToken)
```

Should Grpc.Net.Client throw non-RPC errors?

Contributor guide

Open the contributing guide

Research direction

Start with the stack trace through Grpc.Net.Client.Internal.StreamExtensions.WriteMessageAsync and HttpContentClientStreamWriter.WriteAsyncCore, then examine how System.Net.Http.HttpIOException is surfaced during HTTP/2 streaming. Done means the project has a decided, tested answer for whether this non-RPC error should be exposed or translated.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.