Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

agent enhance com.alibaba.dubbo.monitor.support.MonitorFilter cause java.lang.StackOverflowError #5991

Closed
1 of 4 tasks
pkxiuluo opened this issue Dec 10, 2020 · 2 comments
Closed
1 of 4 tasks
Labels
question End user question and discussion.
Milestone

Comments

@pkxiuluo
Copy link
Contributor

pkxiuluo commented Dec 10, 2020

Please answer these questions before submitting your issue.

  • Why do you submit this issue?
  • Question or discussion
  • Bug
  • Requirement
  • Feature or performance improvement

Bug

  • Which version of SkyWalking, OS and JRE?
    skywalking version : 8.2 release
    OS :mac and centos 7.2
    JRE : 1.8.0_121-b13

  • Which company or project?

  • What happened?
    If possible, provide a way to reproduce the error. e.g. demo application, component version.

when agent use dubbo 2.6 plugin, agent log will print error as follows:

ERROR 2020-12-10 17:57:31:094 main InstMethodsInter : class[class org.apache.http.impl.client.InternalHttpClient] handle method[doExecute] exception failure 
java.lang.StackOverflowError
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.apache.skywalking.apm.agent.core.context.status.StatusChecker.check(StatusChecker.java:75)
	at org.apache.skywalking.apm.agent.core.context.status.StatusChecker.checkStatus(StatusChecker.java:68)
	at org.apache.skywalking.apm.agent.core.context.status.StatusCheckService.isError(StatusCheckService.java:67)
	at org.apache.skywalking.apm.agent.core.context.trace.AbstractTracingSpan.log(AbstractTracingSpan.java:168)
	at org.apache.skywalking.apm.agent.core.context.trace.ExitSpan.log(ExitSpan.java:94)
	at org.apache.skywalking.apm.agent.core.context.trace.ExitSpan.log(ExitSpan.java:37)
	at org.apache.skywalking.apm.plugin.httpClient.v4.HttpClientExecuteInterceptor.handleMethodException(HttpClientExecuteInterceptor.java:99)
	at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:90)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        ..... i  have hide  some meaningless logs ....
       at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1634)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:220)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1024)
	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:1093)
	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)
	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.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)

if i remove dubbo-conflict-patch-8.2.0.jar and apm-dubbo-plugin-8.2.0.jar from plugins folder, it recovered。

@wu-sheng
Copy link
Member

2.6 is too old, we are not supporting that.

@wu-sheng wu-sheng added this to the 8.4.0 milestone Dec 10, 2020
@wu-sheng wu-sheng added the question End user question and discussion. label Dec 10, 2020
@pkxiuluo
Copy link
Contributor Author

this problem is happend in dubbo 2.6.4 version.
it caused by com.alibaba.dubbo.config.spring.extension.SpringExtensionFactory#getExtension forget to consider Object.class.

it has bean fix in dubbo 2.6.5 ,and be referd from dubbo issue#1769

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question End user question and discussion.
Projects
None yet
Development

No branches or pull requests

2 participants