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

Intermittent NullReferenceException on client side calling gRPC #302

Open
wangjia184 opened this issue May 31, 2023 · 0 comments
Open

Intermittent NullReferenceException on client side calling gRPC #302

wangjia184 opened this issue May 31, 2023 · 0 comments

Comments

@wangjia184
Copy link

<PackageReference Include="protobuf-net" Version="3.2.12" />
<PackageReference Include="protobuf-net.Grpc" Version="1.1.1" />

I am receiving intermittent error when calling gRPC API.

NullReferenceException

RpcException Status(StatusCode="Internal", Detail="Error starting gRPC call. NullReferenceException: Object reference not set to an instance of an object.", DebugException="System.NullReferenceException: Object reference not set to an instance of an object.
  at Grpc.Net.Client.Internal.GrpcCallSerializationContext.GetMemory(Int32 sizeHint)
  at ProtoBuf.ProtoWriter.BufferWriterProtoWriter.GetBuffer(State& state) in /_/src/protobuf-net.Core/ProtoWriter.BufferWriter.cs:line 139
  at ProtoBuf.ProtoWriter.BufferWriterProtoWriter.ImplWriteVarint32(State& state, UInt32 value) in /_/src/protobuf-net.Core/ProtoWriter.BufferWriter.cs:line 189
  at ProtoBuf.Serializers.ListSerializer`2.Write(State& state, Int32 fieldNumber, SerializerFeatures category, WireType wireType, TList values, ISerializer`1 serializer, SerializerFeatures features) in /_/src/protobuf-net.Core/Serializers/RepeatedSerializer.cs:line 392
  at ProtoBuf.Serializers.RepeatedSerializer`2.WriteRepeated(State& state, Int32 fieldNumber, SerializerFeatures features, TCollection values, ISerializer`1 serializer) in /_/src/protobuf-net.Core/Serializers/RepeatedSerializer.cs:line 135
  at proto_35(State& , UpdateWalletsRequest )
  at ProtoBuf.ProtoWriter.State.SerializeRoot[T](T value, ISerializer`1 serializer)
  at ProtoBuf.MeasureState`1.SerializeCore(State state)
  at ProtoBuf.MeasureState`1.Serialize(IBufferWriter`1 writer)
  at ProtoBuf.Meta.TypeModel.ProtoBuf.IMeasuredProtoOutput<System.Buffers.IBufferWriter<System.Byte>>.Serialize[T](MeasureState`1 measured, IBufferWriter`1 destination)
  at ProtoBuf.Grpc.Configuration.ProtoBufMarshallerFactory.ContextualSerialize[T](T value, SerializationContext context)
  at Grpc.Net.Client.StreamExtensions.WriteMessageAsync[TMessage](Stream stream, GrpcCall call, TMessage message, Action`2 serializer, CallOptions callOptions)
  at Grpc.Net.Client.Internal.PushUnaryContent`2.WriteMessageCore(ValueTask writeMessageTask)
  at System.Net.Http.Http2Connection.Http2Stream.SendRequestBodyAsync(CancellationToken cancellationToken)
  at System.Net.Http.Http2Connection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
  at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
  at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
  at Grpc.Net.Client.Balancer.Internal.BalancerHttpHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
  at Grpc.Net.Client.Internal.GrpcCall`2.RunCall(HttpRequestMessage request, Nullable`1 timeout)")
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

1 participant