<!-- 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.7
* Operating System version: windows+linux
* Java version:  8  11

### Steps to reproduce this issue

1. 启动进程
2. 打印warn异常堆栈

Pls. provide [GitHub address] to reproduce this issue.

### 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:
不要打印异常堆栈

```
Just put your stack trace here!
java.nio.channels.OverlappingFileLockException: null 
          at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255) ~[?:1.8.0_121] 
          at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152) ~[?:1.8.0_121] 
          at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1108) ~[?:1.8.0_121] 
          at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155) ~[?:1.8.0_121] 
          at org.apache.dubbo.registry.support.AbstractRegistry.doSaveProperties(AbstractRegistry.java:192) ~[dubbo-3.0.7.jar!/:3.0.7]
```



localCacheEnabled = url.getParameter(REGISTRY_LOCAL_FILE_CACHE_ENABLED, true);
        registryCacheExecutor = url.getOrDefaultFrameworkModel().getBeanFactory()
            .getBean(FrameworkExecutorRepository.class).getSharedExecutor();
        if (localCacheEnabled) {
            
            syncSaveFile = url.getParameter(REGISTRY_FILESAVE_SYNC_KEY, false);
            String defaultFilename = System.getProperty(USER_HOME) + DUBBO_REGISTRY +
                url.getApplication() + "-" + url.getAddress().replaceAll(":", "-") + CACHE;
            String filename = url.getParameter(FILE_KEY, defaultFilename);
            File file = null;
            if (ConfigUtils.isNotEmpty(filename)) {
                file = new File(filename);
                if (!file.exists() && file.getParentFile() != null && !file.getParentFile().exists()) {
                    if (!file.getParentFile().mkdirs()) {
                        throw new IllegalArgumentException("Invalid registry cache file " + file + ", cause: Failed to create directory " + file.getParentFile() + "!");
                    }
                }
            }
            this.file = file;
            
            
            loadProperties();
            notify(url.getBackupUrls());
        }
    }
    protected static List<URL> filterEmpty(URL url, List<URL> urls) {
        if (CollectionUtils.isEmpty(urls)) {
            List<URL> result = new ArrayList<>(1);
            result.add(url.setProtocol(EMPTY_PROTOCOL));
            return result;