rainwolf01 opened a new issue #9662: URL: https://github.com/apache/dubbo/issues/9662
<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy --> - [ x ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate. ### Environment * Dubbo version: 3.0.5 * Operating System version: spring boot 2.5.x, nacos 2.0.4 * Java version: jdk 11 ### Steps to reproduce this issue 1. provider配置 ```yaml dubbo: application: metadata-type: local metadata-service-port: 20885 metadata-service-protocol: tri ``` 2. consumer启动后报以下边附加的异常信息 ### Expected Behavior <!-- What do you expect from the above steps?--> ### Actual Behavior <!-- What actually happens? --> If there is an exception, please attach the exception trace: ``` 2022-02-09 11:19:33.516 ERROR [xxxxa-service,,] 27996 --- [ main] .r.c.e.l.ServiceInstancesChangedListener : [DUBBO] Failed to load service metadata, meta type is local, dubbo version: 3.0.5, current host: 10.33.0.2 org.apache.dubbo.rpc.RpcException: Failed to invoke remote method: getMetadataInfo, provider: tri://172.20.4.139:20885/org.apache.dubbo.metadata.MetadataService?connections=1&dubbo=2.0.2&group=xxxxb-service&port=20885&protocol=tri&release=3.0.5&side=consumer&threadname=DubboClientHandler-172.20.4.139:20885&threadpool=cached&timeout=6000&token=6c4046d9-cf1e-49e9-98c0-8d5bf80b125d&version=1.0.0, cause: org.apache.dubbo.remoting.RemotingException: java.lang.NullPointerException java.lang.NullPointerException at org.apache.dubbo.rpc.protocol.tri.AbstractClientStream.getTriMethodDescriptor(AbstractClientStream.java:131) at org.apache.dubbo.rpc.protocol.tri.AbstractClientStream.newClientStream(AbstractClientStream.java:104) at org.apache.dubbo.rpc.protocol.tri.TripleClientRequestHandler.write(TripleClientRequestHandler.java:46) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:834) at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:270) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:179) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:92) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.common.bytecode.proxy0.getMetadataInfo(proxy0.java) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doGetMetadataInfo(ServiceInstancesChangedListener.java:390) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.getRemoteMetadata(ServiceInstancesChangedListener.java:340) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:146) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:312) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:230) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:206) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:111) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:158) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:107) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:562) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.integration.RegistryProtocol.getServiceDiscoveryInvoker(RegistryProtocol.java:538) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:424) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToForceApplicationInvoker(MigrationInvoker.java:201) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:42) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:241) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:531) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:500) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:485) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:481) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:386) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:275) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:216) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:110) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:384) ~[dubbo-3.0.5.jar:3.0.5] at java.base/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4772) ~[na:na] at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:364) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:151) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:108) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:98) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:44) ~[dubbo-3.0.5.jar:3.0.5] at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.14.jar:5.3.14] at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.14.jar:5.3.14] at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-5.3.14.jar:5.3.14] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421) ~[spring-context-5.3.14.jar:5.3.14] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378) ~[spring-context-5.3.14.jar:5.3.14] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938) ~[spring-context-5.3.14.jar:5.3.14] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.14.jar:5.3.14] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.5.8.jar:2.5.8] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:765) ~[spring-boot-2.5.8.jar:2.5.8] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-2.5.8.jar:2.5.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.5.8.jar:2.5.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-2.5.8.jar:2.5.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-2.5.8.jar:2.5.8] at com.example.demo.XXXXApp.main(XXXXApp.java:17) ~[classes/:na] Caused by: java.util.concurrent.ExecutionException: org.apache.dubbo.remoting.RemotingException: java.lang.NullPointerException java.lang.NullPointerException at org.apache.dubbo.rpc.protocol.tri.AbstractClientStream.getTriMethodDescriptor(AbstractClientStream.java:131) at org.apache.dubbo.rpc.protocol.tri.AbstractClientStream.newClientStream(AbstractClientStream.java:104) at org.apache.dubbo.rpc.protocol.tri.TripleClientRequestHandler.write(TripleClientRequestHandler.java:46) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:834) at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) ~[na:na] at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022) ~[na:na] at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:189) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:256) ~[dubbo-3.0.5.jar:3.0.5] ... 54 common frames omitted Caused by: org.apache.dubbo.remoting.RemotingException: java.lang.NullPointerException java.lang.NullPointerException at org.apache.dubbo.rpc.protocol.tri.AbstractClientStream.getTriMethodDescriptor(AbstractClientStream.java:131) at org.apache.dubbo.rpc.protocol.tri.AbstractClientStream.newClientStream(AbstractClientStream.java:104) at org.apache.dubbo.rpc.protocol.tri.TripleClientRequestHandler.write(TripleClientRequestHandler.java:46) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:834) at org.apache.dubbo.remoting.exchange.support.DefaultFuture2.doReceived(DefaultFuture2.java:191) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.remoting.exchange.support.DefaultFuture2.received(DefaultFuture2.java:139) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.remoting.exchange.support.DefaultFuture2.received(DefaultFuture2.java:128) ~[dubbo-3.0.5.jar:3.0.5] at org.apache.dubbo.rpc.protocol.tri.TripleInvoker.lambda$doInvoke$1(TripleInvoker.java:121) ~[dubbo-3.0.5.jar:3.0.5] at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.internal.PromiseNotificationUtil.tryFailure(PromiseNotificationUtil.java:64) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.channel.AbstractChannelHandlerContext.notifyOutboundHandlerException(AbstractChannelHandlerContext.java:814) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:719) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.56.Final.jar:4.1.56.Final] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
