saleson opened a new issue, #10045:
URL: https://github.com/apache/dubbo/issues/10045

   
   
   ### Environment
   
   * Dubbo version: 3.0.8
   * Operating System version: mac
   * Java version: 1.8
   
   ### Steps to reproduce this issue
   
   1. provider 接口级注册方式启动
   2. consumer 服务发现方式设置为APPLICATION_FIRST
   3. consumer调用provider暴露的dubbo service接口
   
   Pls. provide [GitHub address] to reproduce this issue.
   
   ### Expected Behavior
   
   正常调用成功
   
   ### Actual Behavior
   
   首次报java.lang.UnsupportedOperationException, 
之后都报java.lang.NullPointerException
   
   If there is an exception, please attach the exception trace:
   
   ```
   2022-05-16 23:11:40.833  INFO 11071 --- [           main] 
o.a.d.s.d.consumer.ConsumerApplication   : Started ConsumerApplication in 5.516 
seconds (JVM running for 7.158)
   2022-05-16 23:11:40.839  INFO 11071 --- [pool-1-thread-1] 
.b.c.e.AwaitingNonWebApplicationListener :  [Dubbo] Current Spring Boot 
Application is await...
   df
   [16/05/22 23:12:02:806 CST] main  INFO metadata.MetadataServiceNameMapping:  
[DUBBO] org.apache.dubbo.springboot.demo.DemoService mapping to null instructed 
by local cache., dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:02:827 CST] main  INFO migration.MigrationRuleListener:  
[DUBBO] Listening for migration rules on dataId 
dubbo-springboot-demo-consumer.migration, group 
DUBBO_SERVICEDISCOVERY_MIGRATION, dubbo version: 3.0.8.1-SNAPSHOT, current 
host: 192.168.43.36
   [16/05/22 23:12:02:931 CST] main  INFO zookeeper.ZookeeperRegistry:  [DUBBO] 
Subscribe: 
dubbo://192.168.43.36/org.apache.dubbo.springboot.demo.DemoService?application=dubbo-springboot-demo-consumer&background=false&category=providers,configurators,routers&dubbo=2.0.2&interface=org.apache.dubbo.springboot.demo.DemoService&methods=sayHello,sayHelloAsync&pid=11071&protocol=dubbo&qos.enable=false&release=3.0.8.1-SNAPSHOT&side=consumer&sticky=false&timestamp=1652713922780,
 dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:02:946 CST] main  INFO zookeeper.ZookeeperRegistry:  [DUBBO] 
Notify urls for subscribe url 
dubbo://192.168.43.36/org.apache.dubbo.springboot.demo.DemoService?application=dubbo-springboot-demo-consumer&background=false&category=providers,configurators,routers&dubbo=2.0.2&interface=org.apache.dubbo.springboot.demo.DemoService&methods=sayHello,sayHelloAsync&pid=11071&protocol=dubbo&qos.enable=false&release=3.0.8.1-SNAPSHOT&side=consumer&sticky=false&timestamp=1652713922780,
 url size: 3, dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:02:952 CST] main  WARN integration.RegistryDirectory:  
[DUBBO] Serviceorg.apache.dubbo.springboot.demo.DemoService received empty 
address list with no EMPTY protocol set, trigger empty protection., dubbo 
version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:02:955 CST] Dubbo-framework-shared-handler-thread-2  WARN 
zookeeper.ZookeeperRegistry:  [DUBBO] Failed to save registry cache file, will 
retry, cause: null, dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   java.nio.channels.OverlappingFileLockException
        at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
        at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1107)
        at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
        at 
org.apache.dubbo.registry.support.AbstractRegistry.doSaveProperties(AbstractRegistry.java:192)
        at 
org.apache.dubbo.registry.support.AbstractRegistry$SaveProperties.run(AbstractRegistry.java:587)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:750)
   [16/05/22 23:12:02:959 CST] Dubbo-framework-shared-handler-thread-2  WARN 
zookeeper.ZookeeperRegistry:  [DUBBO] Failed to delete lock file 
[dubbo-registry-dubbo-springboot-demo-consumer-127.0.0.1-2181.cache.lock], 
dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:03:013 CST] NettyClientWorker-4-1  INFO 
netty4.NettyClientHandler:  [DUBBO] The connection of /192.168.43.36:55098 -> 
/192.168.43.36:20882 is established., dubbo version: 3.0.8.1-SNAPSHOT, current 
host: 192.168.43.36
   [16/05/22 23:12:03:030 CST] main  INFO transport.AbstractClient:  [DUBBO] 
Successfully connect to server /192.168.43.36:20882 from NettyClient 
192.168.43.36 using dubbo version 3.0.8.1-SNAPSHOT, channel is NettyChannel 
[channel=[id: 0x9b800e88, L:/192.168.43.36:55098 - R:/192.168.43.36:20882]], 
dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:03:030 CST] main  INFO transport.AbstractClient:  [DUBBO] 
Start NettyClient /192.168.43.36 connect to the server /192.168.43.36:20882, 
dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:03:161 CST] main  INFO client.ServiceDiscoveryRegistry:  
[DUBBO] Trying to subscribe from apps dubbo-springboot-demo-provider for 
service key org.apache.dubbo.springboot.demo.DemoService:dubbo, , dubbo 
version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:03:186 CST] main  INFO 
listener.ServiceInstancesChangedListener:  [DUBBO] Received instance 
notification, serviceName: dubbo-springboot-demo-provider, instances: 0, dubbo 
version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   [16/05/22 23:12:03:186 CST] main  INFO 
listener.ServiceInstancesChangedListener:  [DUBBO] 0 unique working revisions: 
, dubbo version: 3.0.8.1-SNAPSHOT, current host: 192.168.43.36
   java.lang.UnsupportedOperationException
        at java.util.AbstractList.add(AbstractList.java:148)
        at java.util.AbstractList.add(AbstractList.java:108)
        at 
org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.toUrlsWithEmpty(ServiceInstancesChangedListener.java:429)
        at 
org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$notifyAddressChanged$5(ServiceInstancesChangedListener.java:395)
        at 
java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1597)
        at 
org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.notifyAddressChanged(ServiceInstancesChangedListener.java:388)
        at 
org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:199)
        at 
org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:112)
        at 
org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.registerServiceWatcher(ZookeeperServiceDiscovery.java:171)
        at 
org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.lambda$addServiceInstancesChangedListener$3(ZookeeperServiceDiscovery.java:120)
        at java.lang.Iterable.forEach(Iterable.java:75)
        at 
org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.addServiceInstancesChangedListener(ZookeeperServiceDiscovery.java:120)
        at 
org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:322)
        at 
org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:216)
        at 
org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:184)
        at 
org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:111)
        at 
org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:180)
        at 
org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:107)
        at 
org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:570)
        at 
org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65)
        at 
org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:436)
        at 
org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:244)
        at 
org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:73)
        at 
org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:57)
        at 
org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:243)
        at 
org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:535)
        at 
org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:505)
        at 
org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:487)
        at 
org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74)
        at 
org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83)
        at 
org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71)
        at 
org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at 
org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:494)
        at 
org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:397)
        at 
org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:285)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:219)
        at 
org.apache.dubbo.config.spring.ReferenceBean.getCallProxy(ReferenceBean.java:349)
        at 
org.apache.dubbo.config.spring.ReferenceBean.access$100(ReferenceBean.java:99)
        at 
org.apache.dubbo.config.spring.ReferenceBean$DubboReferenceLazyInitTargetSource.createObject(ReferenceBean.java:356)
        at 
org.springframework.aop.target.AbstractLazyCreationTargetSource.getTarget(AbstractLazyCreationTargetSource.java:88)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:192)
        at com.sun.proxy.$Proxy54.sayHello(Unknown Source)
        at 
org.apache.dubbo.springboot.demo.consumer.ConsumerApplication.doSayHello(ConsumerApplication.java:58)
        at 
org.apache.dubbo.springboot.demo.consumer.ConsumerApplication.main(ConsumerApplication.java:49)
   adf
   java.lang.NullPointerException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205)
        at com.sun.proxy.$Proxy54.sayHello(Unknown Source)
        at 
org.apache.dubbo.springboot.demo.consumer.ConsumerApplication.doSayHello(ConsumerApplication.java:58)
        at 
org.apache.dubbo.springboot.demo.consumer.ConsumerApplication.main(ConsumerApplication.java:49)
   adf
   java.lang.NullPointerException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205)
        at com.sun.proxy.$Proxy54.sayHello(Unknown Source)
        at 
org.apache.dubbo.springboot.demo.consumer.ConsumerApplication.doSayHello(ConsumerApplication.java:58)
        at 
org.apache.dubbo.springboot.demo.consumer.ConsumerApplication.main(ConsumerApplication.java:49)
   ```
   


-- 
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