Skip to content

dubbo 2.7.5 start.sh -Xss=256K is small? #5745

@byronzoz

Description

@byronzoz
  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.5
  • Operating System version: Mac OS 10.15.3 (19D76)
  • Java version: java version "1.8.0_181"/ Java(TM) SE Runtime Environment (build 1.8.0_181-b13)/ Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

Steps to reproduce this issue

  1. use default start.sh shell to start
  2. logger with debug level configuration
  3. throws exception: java.lang.StackOverflowError
[15/02/20 07:32:40:040 CST] main  WARN support.DefaultListableBeanFactory: FactoryBean threw exception from getObjectType, despite the contract saying that it should return null if the type of its object cannot be determined yet
java.lang.StackOverflowError
	at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
	at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242)
	at java.io.File.exists(File.java:819)
	at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1282)
	at sun.misc.URLClassPath.getResource(URLClassPath.java:239)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.apache.dubbo.config.ReferenceConfigBase.getInterfaceClass(ReferenceConfigBase.java:183)
	at org.apache.dubbo.config.spring.ReferenceBean.getObjectType(ReferenceBean.java:73)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getTypeForFactoryBean(FactoryBeanRegistrySupport.java:65)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1375)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:750)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:529)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:359)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:335)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:322)
	at org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:1174)
	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:144)
	at com.alibaba.spring.util.BeanFactoryUtils.getBeans(BeanFactoryUtils.java:80)
	at com.alibaba.spring.util.BeanFactoryUtils.getOptionalBean(BeanFactoryUtils.java:59)
	at org.apache.dubbo.config.spring.extension.SpringExtensionFactory.getExtension(SpringExtensionFactory.java:69)
	at org.apache.dubbo.common.extension.factory.AdaptiveExtensionFactory.getExtension(AdaptiveExtensionFactory.java:47)
	at org.apache.dubbo.common.extension.ExtensionLoader.injectExtension(ExtensionLoader.java:642)
	at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:599)
	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:392)
	at org.apache.dubbo.rpc.model.ApplicationModel.getConfigManager(ApplicationModel.java:92)
	at org.apache.dubbo.config.AbstractConfig.addIntoConfigManager(AbstractConfig.java:582)
	at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
......
[15/02/20 07:32:40:040 CST] Thread-1  WARN support.ClassPathXmlApplicationContext: Exception thrown from ApplicationListener handling ContextClosedEvent
java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
	at org.springframework.context.event.AbstractApplicationEventMulticaster.getApplicationListeners(AbstractApplicationEventMulticaster.java:170)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:86)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
	at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1049)
	at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:980)
[15/02/20 07:32:40:040 CST] Thread-1  WARN support.ClassPathXmlApplicationContext: Exception thrown from LifecycleProcessor on context close
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.springframework.context.support.ClassPathXmlApplicationContext@2aa3cd93: startup date [Sat Feb 15 19:32:36 CST 2020]; root of context hierarchy
	at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:360)
	at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1057)
	at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:980)

Solve by the steps:

  1. copy the start.sh from dubbo to a individual place
  2. change the -Xss to 512K in start.sh
  3. start the system and it seems ok

Does the -Xss=256K is too small ? So not all the Beans can be loaded by the JVM?
So I wonder if -Xss is a configurable option?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions