Bamboo fails to start when upgrading to version 9.2.7 or later with "Could not load bootstrap from environment java.lang.RuntimeException: Cannot set any global DeserializationFilter filter"
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 when upgrading to version 9.2.7 or all subsequent versions within the 9.2.x series
Environment
- Bamboo 9.2.7 or all subsequent versions within the 9.2.x series
- Bamboo versions 9.3, 9.4 and later are not implicated by this issue
- Java 8
Diagnosis
After starting Bamboo 9.2.7 or later for the first time, the following messages appear on the <bamboo-home>/log/atlassian-bamboo.log
file:
INFO [main] [JDKFilterConfigurator] Could not set JDK 8 DeserializationFilter. INFO [main] [DeserializationFilterConfigurator] Could not set a JDK 8 DeserializationFilter. Trying to set JDK 11 DeserializationFilter fatal bootstrap Could not load bootstrap from environment java.lang.RuntimeException: Cannot set any global DeserializationFilter filter.
Cause
Bamboo 9.2.7 and later uses deserialization libraries that require the sun.misc.ObjectInputFilter
interface, older JDKs, which don't have that interface implemented, will prevent Bamboo from starting up.
Solution
- Update the Java 8 version used by Bamboo to version 8u121 or later
- Optionally, customers can upgrade to Java 11; check the following KB article for instructions: How to upgrade the Java version used by Bamboo.