Bamboo fails to start up due to misconfigured JVM_SUPPORT_RECOMMENDED_ARGS

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Bamboo fails to start up and the following types of errors can be seen inside the <bamboo-home>/logs/atlassian-bamboo.log file:

2022-11-16 10:35:15,326 WARN [main] [ExportsBuilder] Cannot deep scan non file 'jar:file:<bamboo-install>/atlassian-bamboo/WEB-INF/lib/rome-1.18.0.jar!/rome-utils-1.18.0.jar'
2022-11-16 10:35:15,890 ERROR [main] [AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [com.atlassian.plugin.event.events.PluginFrameworkStartingEvent@67562186] from the invoker [com.atlassian.event.internal.ComparableListenerInvoker@57d43b14]
java.lang.RuntimeException: For input string: "300,". Listener: com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager event: com.atlassian.plugin.event.events.PluginFrameworkStartingEvent
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:53) ~[atlassian-event-5.0.1.jar:?]
	at com.atlassian.event.internal.ComparableListenerInvoker.invoke(ComparableListenerInvoker.java:48) ~[atlassian-event-5.0.1.jar:?]
	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37) ~[atlassian-event-5.0.1.jar:?]
	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:85) ~[atlassian-event-5.0.1.jar:?]
	at com.atlassian.bamboo.event.spi.BambooEventDispatcher.dispatch(BambooEventDispatcher.java:34) ~[atlassian-bamboo-core-9.0.0-rc1.jar:?]
	at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:114) ~[atlassian-event-5.0.1.jar:?]
	at com.atlassian.bamboo.event.TxAwareEventPublisher.publish(TxAwareEventPublisher.java:20) ~[atlassian-bamboo-core-9.0.0-rc1.jar:?]
	at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:90) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.broadcastIgnoreError(DefaultPluginManager.java:1972) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.lambda$earlyStartup$5(DefaultPluginManager.java:534) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.earlyStartup(DefaultPluginManager.java:528) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.lambda$init$3(DefaultPluginManager.java:520) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:519) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.bamboo.container.BambooContainer.init(BambooContainer.java:231) ~[atlassian-bamboo-core-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.container.BambooContainer.initialise(BambooContainer.java:218) ~[atlassian-bamboo-core-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.upgrade.UpgradeLauncher.initialiseBambooContainer(UpgradeLauncher.java:181) ~[atlassian-bamboo-web-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:105) ~[atlassian-bamboo-web-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:52) ~[atlassian-bamboo-web-9.0.0-rc1.jar:?]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) ~[catalina.jar:9.0.64]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) ~[catalina.jar:9.0.64]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
    ...
Caused by: java.lang.NumberFormatException: For input string: "300,"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:?]
	at java.lang.Integer.parseInt(Integer.java:652) ~[?:?]
	at java.lang.Integer.parseInt(Integer.java:770) ~[?:?]
	at com.atlassian.plugin.util.PluginUtils.getDefaultEnablingWaitPeriod(PluginUtils.java:142) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.getRuntimeEnvironment(FelixOsgiContainerManager.java:505) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.validateConfiguration(FelixOsgiContainerManager.java:320) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.start(FelixOsgiContainerManager.java:278) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.onStart(FelixOsgiContainerManager.java:197) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42) ~[atlassian-event-5.0.1.jar:?]
	... 49 more
2022-11-16 10:35:16,332 ERROR [main] [ScanningPluginLoader] Unable to deploy plugin 'com.atlassian.activeobjects.activeobjects-plugin' from 'Unit: <bamboo-install>/atlassian-bamboo/WEB-INF/atlassian-bundled-plugins/activeobjects-plugin-4.0.4.jar (1660204720000)'.
2022-11-16 10:35:16,332 ERROR [main] [ScanningPluginLoader] Because of the following exception:
java.lang.IllegalStateException: Unable to create a tracker when osgi is not running
	at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.getServiceTracker(FelixOsgiContainerManager.java:444) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.getServiceTracker(FelixOsgiContainerManager.java:436) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.factory.OsgiChainedModuleDescriptorFactoryCreator.create(OsgiChainedModuleDescriptorFactoryCreator.java:58) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.factory.OsgiPluginFactory.getChainedModuleDescriptorFactory(OsgiPluginFactory.java:304) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.osgi.factory.OsgiPluginFactory.create(OsgiPluginFactory.java:216) ~[atlassian-plugins-osgi-7.0.6.jar:?]
	at com.atlassian.plugin.loaders.ScanningPluginLoader.deployPluginFromUnit(ScanningPluginLoader.java:144) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.loaders.ScanningPluginLoader.loadAllPlugins(ScanningPluginLoader.java:89) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.loaders.PermissionCheckingPluginLoader.loadAllPlugins(PermissionCheckingPluginLoader.java:26) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.lambda$earlyStartup$5(DefaultPluginManager.java:543) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.earlyStartup(DefaultPluginManager.java:528) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.lambda$init$3(DefaultPluginManager.java:520) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:519) ~[atlassian-plugins-core-7.0.6.jar:?]
	at com.atlassian.bamboo.container.BambooContainer.init(BambooContainer.java:231) ~[atlassian-bamboo-core-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.container.BambooContainer.initialise(BambooContainer.java:218) ~[atlassian-bamboo-core-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.upgrade.UpgradeLauncher.initialiseBambooContainer(UpgradeLauncher.java:181) ~[atlassian-bamboo-web-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:105) ~[atlassian-bamboo-web-9.0.0-rc1.jar:?]
	at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:52) ~[atlassian-bamboo-web-9.0.0-rc1.jar:?]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) ~[catalina.jar:9.0.64]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) ~[catalina.jar:9.0.64]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
2022-11-16 10:47:28,953 ERROR [main] [ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'decoratingErrorAccessor' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'decoratedErrorDetailsFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'decoratedErrorDetailsFactory' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'agentManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'agentManager' defined in class path resource [applicationContextManagers.xml]: Cannot create inner bean 'com.atlassian.bamboo.buildqueue.manager.AgentManagerImpl#45a24ad5' of type [com.atlassian.bamboo.buildqueue.manager.AgentManagerImpl] while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'broker' defined in class path resource [applicationContextJMSServer.xml]: Cannot create inner bean 'org.apache.activemq.broker.BrokerService#3bfa9e44' of type [org.apache.activemq.broker.BrokerService] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.broker.BrokerService#3bfa9e44' defined in class path resource [applicationContextJMSServer.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'boolean' for property 'deleteAllMessagesOnStartup'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value [true,]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:707) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:198) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.21.jar:5.3.21]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.21.jar:5.3.21]
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) ~[spring-web-5.3.21.jar:5.3.21]
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) ~[spring-web-5.3.21.jar:5.3.21]
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) ~[spring-web-5.3.21.jar:5.3.21]
	at com.atlassian.spring.container.ContainerContextLoaderListener.contextInitialized(ContainerContextLoaderListener.java:32) ~[atlassian-spring-2.0.8.jar:?]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) ~[catalina.jar:9.0.64]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) ~[catalina.jar:9.0.64]
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) ~[catalina.jar:9.0.64]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
    ...

The exception will vary a little depending on what arguments have been added to the <bamboo-install>/bin/setenv.sh or setenv.bat file. Bamboo will throw a slightly different exception depending on what type of argument (e.g. boolean, numeric, and etc) it's trying to read from the JVM_SUPPORT_RECOMMENDED_ARGS section of the file.

It might also be worth looking at the <bamboo-install>/log/catalina.out file as you might find messages like these:


Tomcat started.
    @argument files
                  one or more argument files containing options
    -disable-@files
                  prevent further argument file expansion
    --enable-preview
                  allow classes to depend on preview features of this release
To specify an argument for a long option, you can use --<name>=<value> or
--<name> <value>.

<bamboo-install>/bin/catalina.sh: line 504: -Datlassian.plugins.enable.wait=300: command not found

Environment

This problem was observed on Bamboo 8 and 9 but will likely affect other versions as well.

Diagnosis

  1. Follow the instructions inside the "Configuring your system properties" page to find the JVM_SUPPORT_RECOMMENDED_ARGS section in your Bamboo installation.
    1. For Linux this will be <bamboo-install>/bin/setenv.sh and for Windows (starting from .bat file) this will be <bamboo-install>/bin/setenv.bat.
  2. Locate the JVM_SUPPORT_RECOMMENDED_ARGS section and check whether it's empty. If this section is not empty it means it's been customized so there's a chance you're running into the problem described in this kb article.
  3. If there are multiple arguments in the JVM_SUPPORT_RECOMMENDED_ARGS section check if they have been separated by a comma, semicolon, or any other characters.

Cause

The arguments inside the JVM_SUPPORT_RECOMMENDED_ARGS section of the <bamboo-install>/bin/setenv.sh or setenv.bat file have been separated using commas, semicolon, or any other characters so Java fails to read the properties during startup. For example:

#
#  Occasionally Atlassian Support may recommend that you set some specific JVM arguments.  You can use this variable below to do that.
#
: ${JVM_SUPPORT_RECOMMENDED_ARGS:="-Dbamboo.ignore.server.state.on.restart=true, -Datlassian.plugins.enable.wait=300"}

Solution

  1. Stop Bamboo.
  2. Follow the instructions inside the "Configuring your system properties" page to find the JVM_SUPPORT_RECOMMENDED_ARGS section in your Bamboo installation.
    1. For Linux this will be <bamboo-install>/bin/setenv.sh and for Windows (starting from .bat file) this will be <bamboo-install>/bin/setenv.bat.
  3. Ensure that there are no commas or any other characters separating each argument. They should be separated with spaces like in the following example:

    #
    #  Occasionally Atlassian Support may recommend that you set some specific JVM arguments.  You can use this variable below to do that.
    #
    : ${JVM_SUPPORT_RECOMMENDED_ARGS:="-Dbamboo.ignore.server.state.on.restart=true -Datlassian.plugins.enable.wait=300 -Dmail.smtp.ssl.protocols=TLSv1.2"}
  4. Start Bamboo.


Last modified on Nov 16, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.