Bamboo fails to start up due to misconfigured JVM_SUPPORT_RECOMMENDED_ARGS

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 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) ~[?:?]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 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:

1 2 3 4 5 6 7 8 9 10 11 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 filehave been separated using commas, semicolon, or any other characters so Java fails to read the properties during startup. For example:

1 2 3 4 # # 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:

    1 2 3 4 # # 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.

Updated on March 14, 2025

Still need help?

The Atlassian Community is here for you.