You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2022/12/17 13:05:14 UTC
[GitHub] [dubbo] qixiaobo commented on issue #6037: Deadlock occurs at RegistryDirectory.notify() with DefaultSingletonBeanRegistry.getSingleton()
qixiaobo commented on issue #6037:
URL: https://github.com/apache/dubbo/issues/6037#issuecomment-1356253982
The same problem in 2.6.x
```plain
"main-EventThread":
waiting to lock monitor 0x00007f5ca4006218 (object 0x00000000d60c4428, a java.util.concurrent.ConcurrentHashMap),
which is held by "main"
"main":
waiting to lock monitor 0x00007f5cc4492868 (object 0x00000000dc9ee708, a com.alibaba.dubbo.common.utils.Holder),
which is held by "main-EventThread"
Java stack information for the threads listed above:
===================================================
"main-EventThread":
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:187)
- waiting to lock <0x00000000d60c4428> (a java.util.concurrent.ConcurrentHashMap)
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:486)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:432)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:403)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:389)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1002)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:345)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:340)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1090)
at com.alibaba.dubbo.config.spring.extension.SpringExtensionFactory.getExtension(SpringExtensionFactory.java:67)
at com.alibaba.dubbo.common.extension.factory.AdaptiveExtensionFactory.getExtension(AdaptiveExtensionFactory.java:47)
at com.alibaba.dubbo.common.extension.ExtensionLoader.injectExtension(ExtensionLoader.java:521)
at com.alibaba.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:497)
at com.alibaba.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:309)
- locked <0x00000000dc9ee708> (a com.alibaba.dubbo.common.utils.Holder)
at com.alibaba.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:193)
at com.alibaba.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:172)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.buildInvokerChain(ProtocolFilterWrapper.java:48)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:108)
at com.alibaba.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:71)
at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:67)
at com.alibaba.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.toInvokers(RegistryDirectory.java:387)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.refreshInvoker(RegistryDirectory.java:253)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.notify(RegistryDirectory.java:223)
- locked <0x00000000d7f03c28> (a com.alibaba.dubbo.registry.integration.RegistryDirectory)
at com.alibaba.dubbo.registry.support.AbstractRegistry.notify(AbstractRegistry.java:414)
at com.alibaba.dubbo.registry.support.FailbackRegistry.doNotify(FailbackRegistry.java:280)
at com.alibaba.dubbo.registry.support.FailbackRegistry.notify(FailbackRegistry.java:266)
at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.access$400(ZookeeperRegistry.java:43)
at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry$3.childChanged(ZookeeperRegistry.java:179)
at com.alibaba.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient$CuratorWatcherImpl.process(CuratorZookeeperClient.java:171)
at org.apache.curator.framework.imps.NamespaceWatcher.process(NamespaceWatcher.java:68)
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:522)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498)
"main":
at com.alibaba.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:307)
- waiting to lock <0x00000000dc9ee708> (a com.alibaba.dubbo.common.utils.Holder)
at com.alibaba.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:193)
at com.alibaba.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:172)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.buildInvokerChain(ProtocolFilterWrapper.java:48)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:108)
at com.alibaba.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:71)
at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:67)
at com.alibaba.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.toInvokers(RegistryDirectory.java:387)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.refreshInvoker(RegistryDirectory.java:253)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.notify(RegistryDirectory.java:223)
- locked <0x00000000d345c6a8> (a com.alibaba.dubbo.registry.integration.RegistryDirectory)
at com.alibaba.dubbo.registry.support.AbstractRegistry.notify(AbstractRegistry.java:414)
at com.alibaba.dubbo.registry.support.FailbackRegistry.doNotify(FailbackRegistry.java:280)
at com.alibaba.dubbo.registry.support.FailbackRegistry.notify(FailbackRegistry.java:266)
at com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry.doSubscribe(ZookeeperRegistry.java:190)
at com.alibaba.dubbo.registry.support.FailbackRegistry.subscribe(FailbackRegistry.java:196)
at com.alibaba.dubbo.registry.integration.RegistryDirectory.subscribe(RegistryDirectory.java:159)
at com.alibaba.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:306)
at com.alibaba.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:287)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:106)
at com.alibaba.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:69)
at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:65)
at com.alibaba.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:394)
at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:333)
at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:163)
- locked <0x00000000d3494fe8> (a com.alibaba.dubbo.config.spring.ReferenceBean)
```
--
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: notifications-unsubscribe@dubbo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org