Panic! This is a bug! -- on macOS Mojave

Posted by wiradikusuma:

I created a Java client that connects to Dgraph (running using docker-compose), and it works perfectly on my Windows 10 laptop. When I run it on macOS, the exact code+setup give me this exception:

javax.servlet.ServletException: java.lang.RuntimeException: The query encountered an execution exception:
	org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:408)
	org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
	org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365)
	org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318)
	org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	bla.FirstFilter.doFilter(FirstFilter.scala:25)
Root Cause

java.lang.RuntimeException: The query encountered an execution exception:
	io.dgraph.DgraphAsyncClient.lambda$runWithRetries$2(DgraphAsyncClient.java:195)
	java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1590)
	java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
	java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582)
	java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Root Cause

java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: INTERNAL: Panic! This is a bug!
	java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
	java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
	io.dgraph.DgraphAsyncClient.lambda$runWithRetries$2(DgraphAsyncClient.java:173)
	java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1590)
	java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
	java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582)
	java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Root Cause

io.grpc.StatusRuntimeException: INTERNAL: Panic! This is a bug!
	io.grpc.Status.asRuntimeException(Status.java:526)
	io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:434)
	io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
	io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
	io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
	io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:678)
	io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
	io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
	io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
	io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:403)
	io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:459)
	io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:63)
	io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:546)
	io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:467)
	io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:584)
	io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
	io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	java.lang.Thread.run(Thread.java:748)
Root Cause

java.lang.AbstractMethodError: io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder$NettyTransportFactory.newClientTransport(Ljava/net/SocketAddress;Lio/grpc/internal/ClientTransportFactory$ClientTransportOptions;)Lio/grpc/internal/ConnectionClientTransport;
	io.grpc.internal.CallCredentialsApplyingTransportFactory.newClientTransport(CallCredentialsApplyingTransportFactory.java:47)
	io.grpc.internal.InternalSubchannel.startNewTransport(InternalSubchannel.java:238)
	io.grpc.internal.InternalSubchannel.obtainActiveTransport(InternalSubchannel.java:206)
	io.grpc.internal.ManagedChannelImpl$SubchannelImpl.requestConnection(ManagedChannelImpl.java:1435)
	io.grpc.PickFirstBalancerFactory$PickFirstBalancer.handleResolvedAddressGroups(PickFirstBalancerFactory.java:74)
	io.grpc.internal.AutoConfiguredLoadBalancerFactory$AutoConfiguredLoadBalancer.handleResolvedAddressGroups(AutoConfiguredLoadBalancerFactory.java:106)
	io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl$1NamesResolved.run(ManagedChannelImpl.java:1303)
	io.grpc.internal.ChannelExecutor.drain(ChannelExecutor.java:73)
	io.grpc.internal.ManagedChannelImpl$LbHelperImpl.runSerialized(ManagedChannelImpl.java:1237)
	io.grpc.internal.ManagedChannelImpl$NameResolverListenerImpl.onAddresses(ManagedChannelImpl.java:1307)
	io.grpc.internal.DnsNameResolver$1.run(DnsNameResolver.java:278)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	java.lang.Thread.run(Thread.java:748)

gitlw commented :

@wiradikusuma Thanks for creating this issue. Can you please let me know which version of Dgraph you are using, and is it possible for you to share a minimal version of your Java client for us to reproduce the problem?