Skip to content

NullReferenceException triggered in Calamari during AWS CloudFormation stack deployment when there are no changes to be applied #9986

@kat-ms

Description

@kat-ms

Severity

Reported by one customer. It is blocking their deployments, but a workaround exists

Version

Reported in 2026.2.7388

Latest Version

I could reproduce the problem in the latest build

What happened?

Failures (NullReferenceException) occurring during the "Apply an AWS CloudFormation Change Set" step when there are no changes to be applied.

Reproduction

Step: "Apply an AWS CloudFormation Change Set" — specifically the "Describe Change Set" sub-step

Trigger: S3 stack deployment where the change set ends up with zero changes

Error and Stacktrace

08:22:12   Error    |       System.NullReferenceException: Object reference not set to an instance of an object.
08:22:12   Error    |       at Calamari.Aws.Deployment.Conventions.DescribeCloudFormationChangeSetConvention.DescribeChangeset(StackArn stack, ChangeSetArn changeSet, IVariables variables) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Aws\Deployment\Conventions\DescribeCloudFormationChangeSetConvention.cs:line 60
08:22:12   Error    |       at Calamari.Aws.Deployment.Conventions.DescribeCloudFormationChangeSetConvention.<>c__DisplayClass5_0.<<InstallAsync>b__0>d.MoveNext() in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Aws\Deployment\Conventions\DescribeCloudFormationChangeSetConvention.cs:line 47
08:22:12   Error    |       --- End of stack trace from previous location ---
08:22:12   Error    |       at Calamari.Aws.Deployment.Conventions.DescribeCloudFormationChangeSetConvention.Install(RunningDeployment deployment) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Aws\Deployment\Conventions\DescribeCloudFormationChangeSetConvention.cs:line 38
08:22:12   Error    |       at Calamari.Deployment.Conventions.AggregateInstallationConvention.Install(RunningDeployment deployment) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\Conventions\AggregateInstallationConvention.cs:line 23
08:22:12   Error    |       at Calamari.Deployment.Conventions.ConditionalInstallationConvention`1.Install(RunningDeployment deployment) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\Conventions\ConditionalInstallationConvention.cs:line 22
08:22:12   Error    |       at Calamari.Deployment.ConventionProcessor.RunInstallConventions(IEnumerable`1 installConventions) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\ConventionProcessor.cs:line 80
08:22:12   Error    |       at Calamari.Deployment.ConventionProcessor.RunConventions(Boolean logExceptions) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\ConventionProcessor.cs:line 31
08:22:12   Error    |       Object reference not set to an instance of an object.
08:22:12   Error    |       System.NullReferenceException
08:22:12   Error    |       at Calamari.Aws.Deployment.Conventions.DescribeCloudFormationChangeSetConvention.DescribeChangeset(StackArn stack, ChangeSetArn changeSet, IVariables variables) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Aws\Deployment\Conventions\DescribeCloudFormationChangeSetConvention.cs:line 60
08:22:12   Error    |       at Calamari.Aws.Deployment.Conventions.DescribeCloudFormationChangeSetConvention.<>c__DisplayClass5_0.<<InstallAsync>b__0>d.MoveNext() in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Aws\Deployment\Conventions\DescribeCloudFormationChangeSetConvention.cs:line 47
08:22:12   Error    |       --- End of stack trace from previous location ---
08:22:12   Error    |       at Calamari.Aws.Deployment.Conventions.DescribeCloudFormationChangeSetConvention.Install(RunningDeployment deployment) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Aws\Deployment\Conventions\DescribeCloudFormationChangeSetConvention.cs:line 38
08:22:12   Error    |       at Calamari.Deployment.Conventions.AggregateInstallationConvention.Install(RunningDeployment deployment) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\Conventions\AggregateInstallationConvention.cs:line 23
08:22:12   Error    |       at Calamari.Deployment.Conventions.ConditionalInstallationConvention`1.Install(RunningDeployment deployment) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\Conventions\ConditionalInstallationConvention.cs:line 22
08:22:12   Error    |       at Calamari.Deployment.ConventionProcessor.RunInstallConventions(IEnumerable`1 installConventions) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\ConventionProcessor.cs:line 80
08:22:12   Error    |       at Calamari.Deployment.ConventionProcessor.RunConventions(Boolean logExceptions) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Shared\Deployment\ConventionProcessor.cs:line 31
08:22:12   Error    |       at Calamari.Aws.Commands.DeployCloudFormationCommand.Execute(String[] commandLineArguments) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Aws\Commands\DeployAwsCloudFormationCommand.cs:line 163
08:22:12   Error    |       at Calamari.Program.ResolveAndExecuteCommand(IContainer container, CommonOptions options) in C:\BuildAgent\work\62728692c7c35200\source\Calamari\Program.cs:line 63
08:22:12   Error    |       at Calamari.Common.CalamariFlavourProgram.Run(String[] args) in C:\BuildAgent\work\62728692c7c35200\source\Calamari.Common\CalamariFlavourProgram.cs:line 79

More Information

No response

Workaround

Ensure the chart has a change (so null does not get returned when retrieving changeset info).

Metadata

Metadata

Assignees

Labels

kind/bugThis issue represents a verified problem we are committed to solving

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions