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/22 10:09:18 UTC

[GitHub] [dubbo] wuwen5 opened a new issue, #11193: Found one Java-level deadlock at startup

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

   <!-- 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.1.3,3.1.5-snapshot
   * Operating System version: mac os 12
   * Java version: 1.8
   
   ### Steps to reproduce this issue
   
   1. When a timer calls the dubbo service at startup
   
   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:
   
   ```
   Found one Java-level deadlock:
   =============================
   "Timer-1":
     waiting to lock monitor 0x000000015b48b420 (object 0x00000005c0742138, a java.util.concurrent.ConcurrentHashMap),
     which is held by "main"
   "main":
     waiting to lock monitor 0x000000013a5413a0 (object 0x00000005c100c958, a org.apache.dubbo.config.deploy.DefaultModuleDeployer),
     which is held by "Timer-1"
   
   Java stack information for the threads listed above:
   ===================================================
   "Timer-1":
   	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:216)
   	- waiting to lock <0x00000005c0742138> (a java.util.concurrent.ConcurrentHashMap)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
   	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1160)
   	at org.apache.dubbo.config.spring.extension.SpringExtensionInjector.getOptionalBean(SpringExtensionInjector.java:78)
   	at org.apache.dubbo.config.spring.extension.SpringExtensionInjector.getInstance(SpringExtensionInjector.java:64)
   	at org.apache.dubbo.common.extension.inject.AdaptiveExtensionInjector.lambda$getInstance$0(AdaptiveExtensionInjector.java:58)
   	at org.apache.dubbo.common.extension.inject.AdaptiveExtensionInjector$$Lambda$450/1638051511.apply(Unknown Source)
   	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
   	at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1361)
   	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
   	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
   	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
   	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
   	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
   	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
   	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
   	at org.apache.dubbo.common.extension.inject.AdaptiveExtensionInjector.getInstance(AdaptiveExtensionInjector.java:60)
   	at org.apache.dubbo.common.extension.ExtensionLoader.injectExtension(ExtensionLoader.java:876)
   	at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:775)
   	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:561)
   	- locked <0x000000071aa3b240> (a org.apache.dubbo.common.utils.Holder)
   	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:535)
   	at org.apache.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:420)
   	at org.apache.dubbo.common.extension.ExtensionLoader.getActivateExtension(ExtensionLoader.java:320)
   	at org.apache.dubbo.rpc.cluster.filter.DefaultFilterChainBuilder.buildInvokerChain(DefaultFilterChainBuilder.java:50)
   	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:74)
   	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.registry.client.ServiceDiscoveryRegistryDirectory.toInvokers(ServiceDiscoveryRegistryDirectory.java:352)
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshInvoker(ServiceDiscoveryRegistryDirectory.java:254)
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshOverrideAndInvoker(ServiceDiscoveryRegistryDirectory.java:182)
   	- locked <0x0000000718a10cb0> (a org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory)
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.notify(ServiceDiscoveryRegistryDirectory.java:176)
   	- locked <0x0000000718a10cb0> (a org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory)
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.addListenerAndNotify(ServiceInstancesChangedListener.java:237)
   	- locked <0x000000071901a7e0> (a org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener)
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:326)
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217)
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185)
   	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88)
   	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183)
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127)
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:569)
   	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65)
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437)
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245)
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76)
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60)
   	- locked <0x00000007189af330> (a org.apache.dubbo.registry.client.migration.MigrationRuleHandler)
   	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247)
   	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:534)
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:504)
   	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:486)
   	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74)
   	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:81)
   	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:614)
   	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448)
   	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)
   	- locked <0x00000005c2313808> (a org.apache.dubbo.config.ReferenceConfig)
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232)
   	- locked <0x00000005c2313808> (a org.apache.dubbo.config.ReferenceConfig)
   	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131)
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396)
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer$$Lambda$1160/1414372344.accept(Unknown Source)
   	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707)
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376)
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167)
   	- locked <0x00000005c100c958> (a org.apache.dubbo.config.deploy.DefaultModuleDeployer)
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139)
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:228)
   	at org.apache.dubbo.config.spring.ReferenceBean.getCallProxy(ReferenceBean.java:346)
   	at org.apache.dubbo.config.spring.ReferenceBean.access$100(ReferenceBean.java:99)
   	at org.apache.dubbo.config.spring.ReferenceBean$DubboReferenceLazyInitTargetSource.createObject(ReferenceBean.java:353)
   	at org.springframework.aop.target.AbstractLazyCreationTargetSource.getTarget(AbstractLazyCreationTargetSource.java:88)
   	- locked <0x00000005c2313660> (a org.apache.dubbo.config.spring.ReferenceBean$DubboReferenceLazyInitTargetSource)
   	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:195)
   	at com.sun.proxy.$Proxy193.allOrganization(Unknown Source)
   	at com.***.OrganizationCache.lambda$new$0(OrganizationCache.java:44)
   	at com.***.OrganizationCache$$Lambda$1157/1612491156.get(Unknown Source)
   	at com.***.CacheByOne.refresh(CacheByOne.java:75)
   	at com.***.CacheByOne$$Lambda$1158/1114712230.apply(Unknown Source)
   	at com.***.AbstractCache$1.run(AbstractCache.java:61)
   	at java.util.TimerThread.mainLoop(Timer.java:555)
   	at java.util.TimerThread.run(Timer.java:505)
   "main":
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:143)
   	- waiting to lock <0x00000005c100c958> (a org.apache.dubbo.config.deploy.DefaultModuleDeployer)
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139)
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:228)
   	at com.***.ElementApiAutoConfiguration.elementApiDubboReference(ElementApiAutoConfiguration.java:25)
   	at com.***.ElementApiAutoConfiguration$$EnhancerBySpringCGLIB$$eed7a286.CGLIB$elementApiDubboReference$1(<generated>)
   	at com.***.ElementApiAutoConfiguration$$EnhancerBySpringCGLIB$$eed7a286$$FastClassBySpringCGLIB$$b1a4f79b.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
   	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
   	at com.***.ElementApiAutoConfiguration$$EnhancerBySpringCGLIB$$eed7a286.elementApiDubboReference(<generated>)
   	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.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
   	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)
   	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
   	at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$240/1599674462.getObject(Unknown Source)
   	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
   	- locked <0x00000005c0742138> (a java.util.concurrent.ConcurrentHashMap)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
   	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
   	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
   	- locked <0x00000005c0741e30> (a java.lang.Object)
   	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144)
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:771)
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:763)
   	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:339)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1318)
   	at com.***.Application.main(Application.java:22)
   
   Found 1 deadlock.
   ```
   


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


[GitHub] [dubbo] AlbumenJ closed issue #11193: Found one Java-level deadlock at startup

Posted by GitBox <gi...@apache.org>.
AlbumenJ closed issue #11193: Found one Java-level deadlock at startup
URL: https://github.com/apache/dubbo/issues/11193


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