Bamboo Windows Service doesn't start and throws error code 1
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
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.
*Fisheye および Crucible は除く
要約
Bamboo won't start as a Windows Service and throws error code 1
:
環境
- Bamboo Server / Data Center installed using the ZIP file rather than the .exe installers.
- Reproducible on the 64-bit versions of Windows Server 2016 and Windows Server 2019 DC.
- 64-bit JDK.
診断
The following error is thrown when attempting to start the Bamboo service:
Windows could not start the Atlassian Bamboo Bamboo on Local Computer, for more information, review the system event log. if this is a non-Microsoft service, contact the service vendor and refer to service-specific error code 1.
Checking the Event Viewer, the respective log entry doesn't have much additional information and just shows "incorrect function":
The Atlassian Bamboo Bamboo service terminated with the following service-specific error:
Incorrect function.
When starting Bamboo through the command line (start-bamboo.bat), you might see the following error in the console, although Bamboo successfully starts up:
Can't load IA 32-bit .dll on a AMD 64-bit platform] java.lang.UnsatisfiedLinkError: <BAMBOO_INSTALL>\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
原因
The ZIP version of Bamboo bundles a 32-bit version of the binaries, including Tomcat and its service wrapper, which is not fully compatible with a 64-bit system.
ソリューション
Use the 64-bit installer of Bamboo. You can run an "upgrade" to the exact same version using the installer.
Other things to check
- Upon any changes to the environment, please re-install the service.
- Check if the JDK being used is a 64-bit one, and if the JAVA_HOME variable is correctly set.
- Make sure to run the service using a Local User with full access to all Bamboo directories. See Running Bamboo as a Windows service as the local user.
Another option, although highly not recommended, is to use a 32-bit version of the JDK.