Bamboo Installation Problem
Asked by Maggie:

I'm having a problem installing Bamboo Server 7.0.0 (first time).

System Specs:

* Microsoft Windows Server 2019, 64-bit
* Java JDK 8 \& JRE 8, 64-bit (also have JDK 11 installed)
* MS SQL Server 2017
* Also using Jira, Bitbucket, Crowd (server)

I have JAVA_HOME \& JRE_HOME defined without any spaces.

After running the installer, \& tried running \<install-directory\>/bin/start-bamboo.bat from the command prompt (as an admin). I initially tried using JDK 11. I switched back to JDK 8. Neither work.

Log:

```
c:\Atlassian\Bamboo\bin>start-bamboo.bat /fg
Using CATALINA_BASE: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat"
Using CATALINA_HOME: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat"
Using CATALINA_TMPDIR: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat\temp"
Using JRE_HOME: "C:\Progra~1\Java\jdk-11.0.7"
Using CLASSPATH: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat\bin\bootstrap.jar;C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat\bin\tomcat-juli.jar"
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
29-May-2020 16:06:29.602 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0].
29-May-2020 16:06:29.602 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
29-May-2020 16:06:29.602 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
29-May-2020 16:06:29.618 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1c 28 May 2019]
29-May-2020 16:06:29.743 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8095"]
29-May-2020 16:06:29.759 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8095]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8095]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:552)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:875)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.startup.Catalina.load(Catalina.java:639)
at org.apache.catalina.startup.Catalina.load(Catalina.java:662)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:995)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 12 more
Caused by: java.net.BindException: Address already in use: bind
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Net.java:461)
at java.base/sun.nio.ch.Net.bind(Net.java:453)
at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:219)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1118)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:224)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:581)
at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:68)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:993)
... 13 more
29-May-2020 16:06:29.759 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 607 ms
29-May-2020 16:06:29.806 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
29-May-2020 16:06:29.806 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.42
29-May-2020 16:06:29.837 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying configuration descriptor [C:\Program Files\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat\conf\Catalina\localhost\crowd.xml]
2020-05-29 16:06:40,102 localhost-startStop-1 INFO [ContainerBase.[Catalina].[localhost].[/crowd]] No Spring WebApplicationInitializer types detected on classpath
2020-05-29 16:06:40,102 localhost-startStop-1 INFO [ContainerBase.[Catalina].[localhost].[/crowd]] No Spring WebApplicationInitializer types detected on classpath
2020-05-29 16:06:40,368 localhost-startStop-1 INFO [apache.jasper.servlet.TldScanner] At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2020-05-29 16:06:40,368 localhost-startStop-1 INFO [apache.jasper.servlet.TldScanner] At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.dom4j.io.SAXContentHandler (file:/C:/Program%20Files/Atlassian/Crowd/atlassian-crowd-4.0.0/crowd-webapp/WEB-INF/lib/dom4j-1.6.1-atlassian-2.jar) to method com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$LocatorProxy.getEncoding()
WARNING: Please consider reporting this to the maintainers of org.dom4j.io.SAXContentHandler
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-05-29 16:06:42,009 localhost-startStop-1 INFO [atlassian.crowd.config.CrowdApplicationConfig] Using config directory : C:\Program Files\Atlassian\Application Data\Crowd\shared
2020-05-29 16:06:42,009 localhost-startStop-1 INFO [atlassian.crowd.config.CrowdApplicationConfig] Using config directory : C:\Program Files\Atlassian\Application Data\Crowd\shared
2020-05-29 16:06:42,009 localhost-startStop-1 INFO [atlassian.crowd.config.CrowdApplicationConfig] Using config directory : C:\Program Files\Atlassian\Application Data\Crowd\shared
2020-05-29 16:06:42,009 localhost-startStop-1 INFO [atlassian.crowd.config.CrowdApplicationConfig] Using config directory : C:\Program Files\Atlassian\Application Data\Crowd\shared
2020-05-29 16:06:42,181 localhost-startStop-1 INFO [atlassian.crowd.config.CrowdApplicationConfig] Using config directory : C:\Program Files\Atlassian\Application Data\Crowd\shared
2020-05-29 16:06:42,181 localhost-startStop-1 INFO [atlassian.crowd.config.CrowdApplicationConfig] Using config directory : C:\Program Files\Atlassian\Application Data\Crowd\shared
2020-05-29 16:06:43,899 localhost-startStop-1 INFO [ContainerBase.[Catalina].[localhost].[/crowd]] Initializing Spring root WebApplicationContext
2020-05-29 16:06:48,774 localhost-startStop-1 INFO [persistence.hibernate.connection.DelegatingConnectionProvider] Configuring delegated connection provider: org.hibernate.c3p0.internal.C3P0ConnectionProvider@10f8fb2f
2020-05-29 16:06:48,821 MLog-Init-Reporter INFO [mchange.v2.log.MLog] MLog clients using slf4j logging.
2020-05-29 16:06:49,009 localhost-startStop-1 INFO [mchange.v2.c3p0.C3P0Registry] Initializing c3p0-0.9.5.4 [built 23-March-2019 23:00:48 -0700; debug? true; trace: 10]
2020-05-29 16:06:49,134 localhost-startStop-1 INFO [v2.c3p0.impl.AbstractPoolBackedDataSource] Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@b8764296 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@3d8adc50 [ acquireIncrement -> 1, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, contextClassLoaderSource -> caller, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, forceSynchronousCheckins -> false, identityToken -> 2rwch8aar9ha0i1fcwkwg|7cbc56ce, idleConnectionTestPeriod -> 100, initialPoolSize -> 0, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 30, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 30, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 0, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@5bee1870 [ description -> null, driverClass -> null, factoryClassLocation -> null, forceUseNamedDriverClass -> false, identityToken -> 2rwch8aar9ha0i1fcwkwg|48a8341e, jdbcUrl -> jdbc:jtds:sqlserver://fsstllabvm2:1433/Crowd, properties -> {password=******, handling_mode=DELAYED_ACQUISITION_AND_RELEASE_AFTER_TRANSACTION, user=******} ], preferredTestQuery -> null, privilegeSpawnedThreads -> false, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, extensions -> {}, factoryClassLocation -> null, identityToken -> 2rwch8aar9ha0i1fcwkwg|59e4b779, numHelperThreads -> 3 ]
```

Any suggestions would be much appreciated!


Answers:
author: Moses Thomas
body: [@Maggie](/t5/user/viewprofilepage/user-id/3733745) You have ran into such issue the port which bamboo is trying to establish TCP connect is most likely in use already see here for resolution.

[Bamboo fails to start - java.net.BindException Address already in use](https://confluence.atlassian.com/bamkb/bamboo-fails-to-start-java-net-bindexception-address-already-in-use-874756312.html)

Kind regards,

Mo

comments: author: Maggie
body: [@Moses Thomas](/t5/user/viewprofilepage/user-id/1138700) ,

Thanks for your reply! I had checked this before, \& I still don't see port 8085 (Bamboo's default port) listed at all. I'm not well versed in network port info, though. Should I be looking for something else?

Maggie


author: Moses Thomas
body: [@Maggie](/t5/user/viewprofilepage/user-id/3733745) Have you tried the resolution mention in the link ?


author: Maggie
body: [@Moses Thomas](/t5/user/viewprofilepage/user-id/1138700) ,

I did restart my server. As far as ports being in use, I ran the *netstat -an* command. None of the *Bamboo* ports are in use.

I just noticed that the first error in the log references port **80++9++5**, which is Crowd's port. I wondered why Bamboo was trying to use Crowd's port since they aren't connected. I noticed that the first thing the log lists is the following first environment variables:
>
> ```
> Using CATALINA_BASE: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat"
> Using CATALINA_HOME: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat"
> Using CATALINA_TMPDIR: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat\temp"
> Using JRE_HOME: "C:\Progra~1\Java\jdk-11.0.7"
> Using CLASSPATH: "C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat\bin\bootstrap.jar;C:\Progra~1\Atlassian\Crowd\atlassian-crowd-4.0.0\apache-tomcat\bin\tomcat-juli.jar"
> ```

The only one that is actually declared in the System Properties is JRE_HOME. How would Bamboo be picking up those four paths that reference Crowd, especially if they're not declared as environment variables? I suspect that this could be an issue of ports being in use as you suggested, but the batch file may be trying to access the wrong port to begin with.

Again, thank you very much for you reply. I'd appreciate any other thoughts you have on the matter!


author: Moses Thomas
body: [@Maggie](/t5/user/viewprofilepage/user-id/3733745)

Its cool that you have noticed weird stuff going on the reason is because

in the server.xml of Crowd has a connector port 8085 and Bamboo server also uses the connector port 8085 by default.

How to solve this conflicting problem ? either you change connector port in bamboo server.xml or crowd server.xml. So just change connector port in bamboo server.xml. When you enter **nestat - an** enter a port that is not occupied by any process and you should be fine. The highest port number that can be used is 65535 because it is the highest number which can be represented by an unsigned 16 bit binary number.

Changing the Bamboo start port {#toc-hId--1350777100}
-----------------------------------------------------

1. Stop Bamboo.
2. Edit `<Bamboo install directory>/conf/server.xml`
3. Update the following so that `Connector port` is set to the port value you require:  

        <Service name="Catalina">        <Connector port="8085"                   maxThreads="150"                   minSpareThreads="25"                   connectionTimeout="20000"                   enableLookups="false"                   maxHttpHeaderSize="8192"                   protocol="HTTP/1.1"                   useBodyEncodingForURI="true"                   redirectPort="8443"                   acceptCount="100"                   disableUploadTimeout="true"/>

4. Restart Bamboo.

Kind regards,

Mo