Details
-
Bug
-
Resolution: Fixed
-
Low
-
5.12.3
Description
Steps to reproduce
- Go to Admin > Image configurations
- Put a valid AMI ID in, don't select anything in the Instance Type field
- Click Save
Expected results
Bamboo warns that Instance Type is required.
Actual results
Bamboo returns an Internal Server Error page with a null pointer exception:
java.lang.NullPointerException at com.atlassian.bamboo.util.BambooIterables.stream(BambooIterables.java:160) at com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl.toString(ElasticImageConfigurationImpl.java:167) at com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl.setInstanceTypes(ElasticImageConfigurationImpl.java:161) at com.atlassian.bamboo.ww2.actions.admin.elastic.ConfigureElasticImageConfiguration.setElasticImageConfigurationProperties(ConfigureElasticImageConfiguration.java:328) at com.atlassian.bamboo.ww2.actions.admin.elastic.ConfigureElasticImageConfiguration.createElasticImageConfiguration(ConfigureElasticImageConfiguration.java:295) at com.atlassian.bamboo.ww2.actions.admin.elastic.ConfigureElasticImageConfiguration.create(ConfigureElasticImageConfiguration.java:186) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) at com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.validateWorkflow(BambooWorkflowInterceptor.java:54) at com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.access$000(BambooWorkflowInterceptor.java:16) at com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor$1.call(BambooWorkflowInterceptor.java:33) at com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor$1.call(BambooWorkflowInterceptor.java:29) at com.atlassian.bamboo.util.BambooProfilingUtils.withUtilTimerStack(BambooProfilingUtils.java:39) at com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:28) [...]