Summary
Upgrading from Bamboo version 5.7.x or lower to Bamboo version 6.3.0 will fail with NullPointerException
Steps to Reproduce
- Install Bamboo 5.7.2
- Create a deployment environment
- Add a trigger "After successful build plan" for the environment
- Upgrade Bamboo to version 6.3.0
Expected Results
Upgrade successfully
Actual Results
Upgrade fail with the below exception is thrown in the atlassian-bamboo.log file:
2017-12-28 18:07:04,212 INFO [16-UpgradeTaskBackgroundThread:pool-31-thread-1] [AbstractUpgradeManager] 5853 : Convert environment triggers to new pluggable triggers (post-bootstrap) 2017-12-28 18:07:04,212 INFO [16-UpgradeTaskBackgroundThread:pool-31-thread-1] [AbstractUpgradeManager] ------------------------------------------------------------------------------ 2017-12-28 18:07:04,231 ERROR [16-UpgradeTaskBackgroundThread:pool-31-thread-1] [AbstractUpgradeManager] java.lang.NullPointerException java.lang.NullPointerException at com.atlassian.bamboo.spring.StrutsContainer.lambda$static$0(StrutsContainer.java:15) at io.atlassian.fugue.Suppliers$MemoizingSupplier.get(Suppliers.java:161) at com.atlassian.struts.DefaultTextProvider.getTextProvider(DefaultTextProvider.java:188) at com.atlassian.struts.DefaultTextProvider.getText(DefaultTextProvider.java:39) at com.atlassian.bamboo.build.strategy.AfterSuccessfulPlanTrigger.getName(AfterSuccessfulPlanTrigger.java:53) at com.atlassian.bamboo.fieldvalue.BuildStrategyConfigurationUtils.getBuildStrategiesFromConfig(BuildStrategyConfigurationUtils.java:129) at com.atlassian.bamboo.upgrade.tasks.v5_8.UpgradeTask5853ConvertEnvironmentTriggers.doUpgrade(UpgradeTask5853ConvertEnvironmentTriggers.java:42) at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.runUpgradeTask(AbstractUpgradeManager.java:185) at com.atlassian.bamboo.upgrade.UpgradeManagerImpl.doUpgrade(UpgradeManagerImpl.java:132) at com.atlassian.bamboo.upgrade.UpgradeLauncher.lambda$upgradeAndStartBamboo$0(UpgradeLauncher.java:104) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) at java.lang.Thread.run(Thread.java:745)
Workaround
Upgrade to Bamboo version 6.2.8 first
this issue also reproduced for upgrading from 5.13 to 6.3.0. I have the same call stack