Skip to content

Protocol message had too many levels of nesting [BUG]  #88

@morbiuslevakov

Description

@morbiuslevakov

Hello! I'm using WavesJ and the generated proto classes. Here's my code:

BlockchainUpdatesApiGrpc.BlockchainUpdatesApiStub stub = BlockchainUpdatesApiGrpc.newStub(channel);

BlockchainUpdates.SubscribeRequest request = BlockchainUpdates.SubscribeRequest.newBuilder()
        .setFromHeight(4200000)
        .build();

but I got this error:

Jun 04 17:25:17 ds1846 java[1661739]: io.grpc.StatusRuntimeException: CANCELLED: Failed to read message.
Jun 04 17:25:17 ds1846 java[1661739]:         at com.yusra.io.grpc.GrpcClient$1.onError(grpcclient.java:56)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(clientcalls.java:481)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.DelayedClientCall$DelayedListener$[3.run](https://3.run/)(delayedclientcall.java:489)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(delayedclientcall.java:453)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(delayedclientcall.java:486)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.ClientCallImpl.closeObserver(clientcallimpl.java:574)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.ClientCallImpl.access$300(clientcallimpl.java:72)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(clientcallimpl.java:742)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(clientcallimpl.java:723)
Jun 04 17:25:17 ds1846 java[1661739]:         at [io.grpc.internal.ContextRunnable.run](https://io.grpc.internal.contextrunnable.run/)(contextrunnable.java:37)
Jun 04 17:25:17 ds1846 java[1661739]:         at [io.grpc.internal.SerializingExecutor.run](https://io.grpc.internal.serializingexecutor.run/)(serializingexecutor.java:133)
Jun 04 17:25:17 ds1846 java[1661739]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
Jun 04 17:25:17 ds1846 java[1661739]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
Jun 04 17:25:17 ds1846 java[1661739]:         at java.base/java.lang.Thread.run(Thread.java:1583)
Jun 04 17:25:17 ds1846 java[1661739]: Caused by: io.grpc.StatusRuntimeException: INTERNAL: Invalid protobuf byte sequence
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.Status.asRuntimeException(status.java:525)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller.parse(protoliteutils.java:240)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller.parse(protoliteutils.java:134)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.MethodDescriptor.parseResponse(methoddescriptor.java:284)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInternal(clientcallimpl.java:667)
Jun 04 17:25:17 ds1846 java[1661739]:         at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(clientcallimpl.java:654)
Jun 04 17:25:17 ds1846 java[1661739]:         ... 5 more
Jun 04 17:25:17 ds1846 java[1661739]: Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message had too many levels of nesting.  May be malicious.  Use CodedInputStream.setRecursionLimit() to increase the depth limit.

At the same time, everything worked correctly before, in the developer chat they told me that this was happening due to a node update

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions