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]

Reply via email to