GeneratedMessageV3#isStringEmpty(Object) method not found

2,521 views
Skip to first unread message

João Victor Gomides Cruz

unread,
Jan 11, 2022, 8:41:29 AM1/11/22
to Protocol Buffers
Hi guys I'm having an issue with protobuf java. can I get some help on where to start fixing it?

I'm getting this error 
java.lang.NoSuchMethodError: 'boolean com.google.protobuf.GeneratedMessageV3.isStringEmpty(java.lang.Object)'
        at is.warden.protocol.service.proto.ProxyRegisterRequest.getSerializedSize(ProxyRegisterRequest.java:250) ~[?:?]
        at io.grpc.protobuf.lite.ProtoInputStream.available(ProtoInputStream.java:108) ~[?:?]
        at io.grpc.internal.MessageFramer.getKnownLength(MessageFramer.java:205) ~[?:?]
        at io.grpc.internal.MessageFramer.writePayload(MessageFramer.java:137) ~[?:?]
        at io.grpc.internal.AbstractStream.writeMessage(AbstractStream.java:65) ~[?:?]
        at io.grpc.internal.ForwardingClientStream.writeMessage(ForwardingClientStream.java:37) ~[?:?]
        at io.grpc.internal.DelayedStream$6.run(DelayedStream.java:283) ~[?:?]
        at io.grpc.internal.DelayedStream.drainPendingCalls(DelayedStream.java:182) ~[?:?]
        at io.grpc.internal.DelayedStream.access$100(DelayedStream.java:44) ~[?:?]
        at io.grpc.internal.DelayedStream$4.run(DelayedStream.java:148) ~[?:?]
        at io.grpc.stub.ClientCalls$ThreadlessExecutor.waitAndDrain(ClientCalls.java:741) ~[?:?]
        at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:149) ~[?:?]
        at is.warden.protocol.service.proto.ProxyServiceGrpc$ProxyServiceBlockingStub.register(ProxyServiceGrpc.java:475) ~[?:?]
        at is.warden.protocol.service.client.proxy.ProxyServiceClient.register(ProxyServiceClient.java:22) ~[?:?]
        at is.warden.protocolplugin.proxy.ProxyProtocolPlugin.registerProxy(ProxyProtocolPlugin.java:56) ~[?:?]
        at is.warden.protocolplugin.proxy.ProxyProtocolPlugin.onEnable(ProxyProtocolPlugin.java:29) ~[?:?]
        at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:315) ~[waterfall.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:adabf32:474]
        at net.md_5.bungee.BungeeCord.start(BungeeCord.java:290) ~[waterfall.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:adabf32:474]
        at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67) ~[waterfall.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:adabf32:474]
        at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) ~[waterfall.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:adabf32:474]

with this grpc dependencies
implementation("io.grpc:grpc-protobuf:1.43.2")
implementation("io.grpc:grpc-stub:1.43.2")
implementation("io.grpc:grpc-netty:1.43.2")

implementation("com.google.protobuf:protobuf-java:3.19.2")
implementation("com.google.protobuf:protobuf-java-util:3.19.2")

I even decompiled the final jar and the method does exist, I don't know where to even start looking.

Thanks in advance :)

Adam Cozzette

unread,
Jan 14, 2022, 2:20:58 PM1/14/22
to João Victor Gomides Cruz, Protocol Buffers
This indicates that somehow the project is using Java generated code that is too new for the protobuf runtime. GeneratedMessageV3.isStringEmpty was added relatively recently, so if the runtime library is too old then it won't be present. Version 3.19.2 is quite recent, so that should be fine, but the fact that you're getting the error anyway suggests to me that there must be an old runtime being used somewhere.

--
You received this message because you are subscribed to the Google Groups "Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/dba2e5e0-110c-4df9-a29f-90a6b7852857n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages