[grpc-io] Re: [grpc-java] InvalidProtocolBufferException: Protocol message contained an invalid tag (zero) error
Yes, both are written in Java and I am using plaintext. On Tuesday, September 18, 2018 at 7:58:16 PM UTC-4, Carl Mastrangelo wrote: > > Are both your client and server written using Java? Also, are you using > TLS or plaintext? > > On Monday, September 17, 2018 at 8:21:30 PM UTC-7, Anthony Corbacho wrote: >> >> Hi, >> >> This is strange I have enabled the same log but I only see RST_STREAM. >> Do I need to do something else? >> >> # GRPC debugging >> log4j.logger.io.grpc.netty.NettyServerHandler=ALL >> log4j.logger.io.grpc.netty.NettyClientHandler =ALL >> >> >> >> On Monday, September 17, 2018 at 4:52:02 PM UTC-4, Carl Mastrangelo wrote: >>> >>> Here's what i use to turn it on: >>> https://gist.github.com/carl-mastrangelo/49f6d6a8ff29200fcb7d9e25e473b2d0 >>> >>> On Monday, September 17, 2018 at 11:39:47 AM UTC-7, Anthony Corbacho >>> wrote: >>>> >>>> Hi Carl, >>>> >>>> Thanks for the fast answer. >>>> How can I enable `netty debug log frame that's for DATA`? >>>> >>>> thanks~. >>>> >>>> On Monday, September 17, 2018 at 1:38:20 PM UTC-4, Carl Mastrangelo >>>> wrote: >>>>> >>>>> You should look for a netty debuglog frame that's for DATA, not >>>>> RST_STREAM. That should show you the corrupted message. >>>>> >>>>> There are also some hooks into the core gRPC library that (while more >>>>> complicated) will let you examine the message bytes. By using a custom >>>>> Marshaller, you can peak at the bytes and then delegate the remaining >>>>> message to the protobuf Marshaller. You can see how to wire up a >>>>> Marshaller by looking in the generated code for the MethodDescriptor. >>>>> >>>>> On Sunday, September 16, 2018 at 2:38:26 PM UTC-7, Anthony Corbacho >>>>> wrote: >>>>>> >>>>>> Hello, >>>>>> I am new to Grpc and so far like it very much. >>>>>> >>>>>> I am using a bidirectional stream and from time to time I get an >>>>>> exception like this one: >>>>>> >>>>>> io.grpc.StatusRuntimeException: CANCELLED: Failed to read message. at >>>>>> io.grpc.Status.asRuntimeException(Status.java:526) at >>>>>> io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:418) >>>>>> >>>>>> at >>>>>> io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) >>>>>> >>>>>> at >>>>>> io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:663) >>>>>> >>>>>> at >>>>>> io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) >>>>>> >>>>>> at >>>>>> io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) >>>>>> >>>>>> at >>>>>> io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:443) >>>>>> at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at >>>>>> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:525) >>>>>> >>>>>> at >>>>>> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:446) >>>>>> >>>>>> at >>>>>> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:510) >>>>>> >>>>>> at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at >>>>>> io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>>>> >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>>>> >>>>>> at java.lang.Thread.run(Thread.java:748) Caused by: >>>>>> io.grpc.StatusRuntimeException: INTERNAL: Invalid protobuf byte sequence >>>>>&
[grpc-io] Re: [grpc-java] InvalidProtocolBufferException: Protocol message contained an invalid tag (zero) error
Hi, This is strange I have enabled the same log but I only see RST_STREAM. Do I need to do something else? # GRPC debugging log4j.logger.io.grpc.netty.NettyServerHandler=ALL log4j.logger.io.grpc.netty.NettyClientHandler =ALL On Monday, September 17, 2018 at 4:52:02 PM UTC-4, Carl Mastrangelo wrote: > > Here's what i use to turn it on: > https://gist.github.com/carl-mastrangelo/49f6d6a8ff29200fcb7d9e25e473b2d0 > > On Monday, September 17, 2018 at 11:39:47 AM UTC-7, Anthony Corbacho wrote: >> >> Hi Carl, >> >> Thanks for the fast answer. >> How can I enable `netty debug log frame that's for DATA`? >> >> thanks~. >> >> On Monday, September 17, 2018 at 1:38:20 PM UTC-4, Carl Mastrangelo wrote: >>> >>> You should look for a netty debuglog frame that's for DATA, not >>> RST_STREAM. That should show you the corrupted message. >>> >>> There are also some hooks into the core gRPC library that (while more >>> complicated) will let you examine the message bytes. By using a custom >>> Marshaller, you can peak at the bytes and then delegate the remaining >>> message to the protobuf Marshaller. You can see how to wire up a >>> Marshaller by looking in the generated code for the MethodDescriptor. >>> >>> On Sunday, September 16, 2018 at 2:38:26 PM UTC-7, Anthony Corbacho >>> wrote: >>>> >>>> Hello, >>>> I am new to Grpc and so far like it very much. >>>> >>>> I am using a bidirectional stream and from time to time I get an >>>> exception like this one: >>>> >>>> io.grpc.StatusRuntimeException: CANCELLED: Failed to read message. at >>>> io.grpc.Status.asRuntimeException(Status.java:526) at >>>> io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:418) >>>> >>>> at >>>> io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) >>>> >>>> at >>>> io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:663) >>>> >>>> at >>>> io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) >>>> >>>> at >>>> io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) >>>> >>>> at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:443) >>>> at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at >>>> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:525) >>>> >>>> at >>>> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:446) >>>> >>>> at >>>> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:510) >>>> >>>> at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at >>>> io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at >>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>> >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>> >>>> at java.lang.Thread.run(Thread.java:748) Caused by: >>>> io.grpc.StatusRuntimeException: INTERNAL: Invalid protobuf byte sequence >>>> at >>>> io.grpc.Status.asRuntimeException(Status.java:517) at >>>> io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:168) at >>>> io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:82) at >>>> io.grpc.MethodDescriptor.parseResponse(MethodDescriptor.java:265) at >>>> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:498) >>>> >>>> ... 5 more Caused by: com.google.protobuf.InvalidProtocolBufferException: >>>> Protocol message contained an invalid tag (zero). at >>>> com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:105) >>>> >>>> at >>>> com.google.protobuf.CodedInputStream$ArrayDecoder.readTag(CodedInputStream.java:646) >>>> >>>> at >>>> com.zepl.notebook.service.grpc.NotebookResponse.(NotebookResponse.java:46) >>>> >>>> at >>>> com.zepl.note
[grpc-io] Re: [grpc-java] InvalidProtocolBufferException: Protocol message contained an invalid tag (zero) error
Hi Carl, Thanks for the fast answer. How can I enable `netty debug log frame that's for DATA`? thanks~. On Monday, September 17, 2018 at 1:38:20 PM UTC-4, Carl Mastrangelo wrote: > > You should look for a netty debuglog frame that's for DATA, not > RST_STREAM. That should show you the corrupted message. > > There are also some hooks into the core gRPC library that (while more > complicated) will let you examine the message bytes. By using a custom > Marshaller, you can peak at the bytes and then delegate the remaining > message to the protobuf Marshaller. You can see how to wire up a > Marshaller by looking in the generated code for the MethodDescriptor. > > On Sunday, September 16, 2018 at 2:38:26 PM UTC-7, Anthony Corbacho wrote: >> >> Hello, >> I am new to Grpc and so far like it very much. >> >> I am using a bidirectional stream and from time to time I get an >> exception like this one: >> >> io.grpc.StatusRuntimeException: CANCELLED: Failed to read message. at >> io.grpc.Status.asRuntimeException(Status.java:526) at >> io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:418) >> >> at >> io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) >> >> at >> io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:663) >> >> at >> io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) >> >> at >> io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) >> >> at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:443) >> at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at >> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:525) >> >> at >> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:446) >> >> at >> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:510) >> >> at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at >> io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >> >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >> >> at java.lang.Thread.run(Thread.java:748) Caused by: >> io.grpc.StatusRuntimeException: INTERNAL: Invalid protobuf byte sequence at >> io.grpc.Status.asRuntimeException(Status.java:517) at >> io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:168) at >> io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:82) at >> io.grpc.MethodDescriptor.parseResponse(MethodDescriptor.java:265) at >> io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:498) >> >> ... 5 more Caused by: com.google.protobuf.InvalidProtocolBufferException: >> Protocol message contained an invalid tag (zero). at >> com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:105) >> >> at >> com.google.protobuf.CodedInputStream$ArrayDecoder.readTag(CodedInputStream.java:646) >> >> at >> com.zepl.notebook.service.grpc.NotebookResponse.(NotebookResponse.java:46) >> >> at >> com.zepl.notebook.service.grpc.NotebookResponse.(NotebookResponse.java:13) >> >> at >> com.zepl.notebook.service.grpc.NotebookResponse$1.parsePartialFrom(NotebookResponse.java:2851) >> >> at >> com.zepl.notebook.service.grpc.NotebookResponse$1.parsePartialFrom(NotebookResponse.java:2846) >> >> at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:91) at >> com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49) at >> io.grpc.protobuf.lite.ProtoLiteUtils$2.parseFrom(ProtoLiteUtils.java:173) >> at io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:165) >> ... 8 more >> >> I enabled netty debug logs, and I have this line: [id: 0xfc5978c0, L:/ >> 100.119.42.167:39090 - R:--/--] OUTBOUND RST_STREAM: streamId=1539 >> errorCode=8. >> I dont really get what is wrong, I get this error once in a while and I >> am stuck. >> I am calling the observers from different threads in the server side, do >> I need to synchronize the method that calls the observers? >> >> Thank you for your help and time. >> > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/cf58ba4a-cd42-495b-ad3a-8fc1f8cdfc4c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[grpc-io] [grpc-java] InvalidProtocolBufferException: Protocol message contained an invalid tag (zero) error
Hello, I am new to Grpc and so far like it very much. I am using a bidirectional stream and from time to time I get an exception like this one: io.grpc.StatusRuntimeException: CANCELLED: Failed to read message. at io.grpc.Status.asRuntimeException(Status.java:526) at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:418) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:663) at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:41) at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:392) at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:443) at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:525) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:446) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:510) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: io.grpc.StatusRuntimeException: INTERNAL: Invalid protobuf byte sequence at io.grpc.Status.asRuntimeException(Status.java:517) at io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:168) at io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:82) at io.grpc.MethodDescriptor.parseResponse(MethodDescriptor.java:265) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:498) ... 5 more Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero). at com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:105) at com.google.protobuf.CodedInputStream$ArrayDecoder.readTag(CodedInputStream.java:646) at com.zepl.notebook.service.grpc.NotebookResponse.(NotebookResponse.java:46) at com.zepl.notebook.service.grpc.NotebookResponse.(NotebookResponse.java:13) at com.zepl.notebook.service.grpc.NotebookResponse$1.parsePartialFrom(NotebookResponse.java:2851) at com.zepl.notebook.service.grpc.NotebookResponse$1.parsePartialFrom(NotebookResponse.java:2846) at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:91) at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49) at io.grpc.protobuf.lite.ProtoLiteUtils$2.parseFrom(ProtoLiteUtils.java:173) at io.grpc.protobuf.lite.ProtoLiteUtils$2.parse(ProtoLiteUtils.java:165) ... 8 more I enabled netty debug logs, and I have this line: [id: 0xfc5978c0, L:/100.119.42.167:39090 - R:--/--] OUTBOUND RST_STREAM: streamId=1539 errorCode=8. I dont really get what is wrong, I get this error once in a while and I am stuck. I am calling the observers from different threads in the server side, do I need to synchronize the method that calls the observers? Thank you for your help and time. -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To post to this group, send email to grpc-io@googlegroups.com. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/549baf8f-f0fe-4d8e-975f-1b47cb3885e9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.