Skip to content

aws_lb_listener_rule plugin crush on dynamically adding listener arn #42237

Open
@danielTorox

Description

@danielTorox

Terraform and AWS Provider Version

Terraform v1.11.4
on windows_amd64
+ provider registry.terraform.io/hashicorp/aws v5.89.0

Affected Resource(s) or Data Source(s)

aws_lb_listener_rule

Expected Behavior

loop over the rules variable and create all the rules on the listener

Actual Behavior

plugin crush if the listener is created on the same apply.
if the rule is applied on a deferent apply then the listener then is works

Relevant Error/Panic Output

panic: value is not known

goroutine 231 [running]:
github.com/hashicorp/go-cty/cty.Value.LengthInt({{{0x1d8334c8?, 0xc003995980?}}, {0x18d13640?, 0x29388de0?}})
        github.com/hashicorp/[email protected]/cty/value_ops.go:986 +0x26b
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.listenerActionPlantimeValidate({0xc003a544a0, 0x2, 0x2}, {{{0x1d833570?, 0xc002bbc3b8?}}, {0x191d73e0?, 0xc00399f590?}}, 0xc0039aabd8)
        github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1825 +0x5b0
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.listenerActionsPlantimeValidate({0xc003a479f0, 0x1, 0x184f9e00?}, {{{0x1d8334c8?, 0xc003995b20?}}, {0x184f9e00?, 0xc00355d0e0?}}, 0xc0039aabd8)
        github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1775 +0xa5
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.resourceListenerRule.validateListenerActionsCustomDiff.func22({0xc0039dabd0?, 0xc0039aac50?}, 0xa00f05?, {0x30?, 0x1a94a700?})
        github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1762 +0x165
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.resourceListenerRule.All.func23({0x1d8331e8, 0xc0039dabd0}, 0xc0039b75c0, {0x1b15dec0, 0xc0030efd00})
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/customdiff/compose.go:52 +0xce
github.com/hashicorp/terraform-provider-aws/internal/provider.(*wrappedResource).customizeDiff.Sequence.func2({0x1d8331e8, 0xc0039dabd0}, 0xc0039b75c0, {0x1b15dec0, 0xc0030efd00})
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/customdiff/compose.go:69 +0x84
github.com/hashicorp/terraform-provider-aws/internal/provider.(*wrappedResource).customizeDiff.(*wrappedResource).customizeDiffWithBootstrappedContext.func3({0x1d8331e8?, 0xc0039910e0?}, 0xc0039b75c0, {0x1b15dec0, 0xc0030efd00})
        github.com/hashicorp/terraform-provider-aws/internal/provider/wrap.go:139 +0x63
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.schemaMap.Diff(0xc0014b6450, {0x1d8331e8, 0xc0039910e0}, 0xc001c9fc70, 0xc00399c410, 0xc001c34d08, {0x1b15dec0, 0xc0030efd00}, 0x0)
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/schema.go:710 +0x4b4
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).SimpleDiff(0x1d833570?, {0x1d8331e8?, 0xc0039910e0?}, 0xc001c9fc70, 0xc003991110?, {0x1b15dec0?, 0xc0030efd00?})
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:1022 +0xdb
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).PlanResourceChange(0xc0030a28b8, {0x1d8331e8?, 0xc003990ff0?}, 0xc003545e50)
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:890 +0xbc8
github.com/hashicorp/terraform-plugin-mux/tf5muxserver.(*muxServer).PlanResourceChange(0xc000c98c00, {0x1d8331e8?, 0xc003990d20?}, 0xc003545e50)
        github.com/hashicorp/[email protected]/tf5muxserver/mux_server_PlanResourceChange.go:73 +0x2ad
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).PlanResourceChange(0xc0015bc8c0, {0x1d8331e8?, 0xc0039904e0?}, 0xc001a1e780)
        github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:826 +0x3dc
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_PlanResourceChange_Handler({0x1afcd260, 0xc0015bc8c0}, {0x1d8331e8, 0xc0039904e0}, 0xc001a1e700, 0x0)
        github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:593 +0x1a6
google.golang.org/grpc.(*Server).processUnaryRPC(0xc003052800, {0x1d8331e8, 0xc003990450}, 0xc004b1ec60, 0xc003103e60, 0x2932bd60, 0x0)
        google.golang.org/[email protected]/server.go:1400 +0x103b
google.golang.org/grpc.(*Server).handleStream(0xc003052800, {0x1d867718, 0xc0030e69c0}, 0xc004b1ec60)
        google.golang.org/[email protected]/server.go:1810 +0xbaa
google.golang.org/grpc.(*Server).serveStreams.func2.1()
        google.golang.org/[email protected]/server.go:1030 +0x7f
created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 32
        google.golang.org/[email protected]/server.go:1041 +0x125

Sample Terraform Configuration

this is the module

Click to expand configuration
resource "aws_lb_listener_rule" "load_balancer_listener_rule" {
  listener_arn = var.listener_arn
  priority     = try(var.rule["body"]["priority"], null)

  action {
    type = var.rule["action"]["body"]["type"]
    dynamic "forward" {
      for_each = (var.rule["action"]["body"]["type"] == "forward" && can(var.rule["action"]["forward"])) ? ["enter"] : []

      content {
        dynamic "target_group" {
          for_each = var.rule["action"]["forward"]["target_group"]
          content {
            arn    = target_group.value["body"]["target_group_arn"]
            weight = try(target_group.value["body"]["weight"], null)
          }
        }
        stickiness {
          enabled  = try(var.rule["action"]["forward"]["stickiness"]["body"]["enabled"], false)
          duration = try(var.rule["action"]["forward"]["stickiness"]["body"]["duration"], 1)
        }
      }
    }
    dynamic "fixed_response" {
      for_each = (var.rule["action"]["body"]["type"] == "fixed-response" && can(var.rule["action"]["fixed_response"])) ? ["enter"] : []
      content {
        content_type = var.rule["action"]["fixed_response"]["body"]["content_type"]
        message_body = try(var.rule["action"]["fixed_response"]["body"]["message_body"], null)
        status_code  = try(var.rule["action"]["fixed_response"]["body"]["status_code"], 503)
      }
    }
  }

  condition {
    dynamic "host_header" {
      for_each = var.rule["condition"]["host_header"]
      content {
        values = var.rule["condition"]["host_header"]
      }
    }
    dynamic "http_header" {
      for_each = can(var.rule["condition"]["http_header"]) ? ["enter"] : []
      content {
        http_header_name = var.rule["condition"]["http_header"]["http_header_name"]
        values           = var.rule["condition"]["http_header"]["values"]
      }
    }
    dynamic "http_request_method" {
      for_each = var.rule["condition"]["http_request_method"]
      content {
        values = var.rule["condition"]["http_request_method"]
      }
    }
    dynamic "path_pattern" {
      for_each = var.rule["condition"]["path_pattern"]
      content {
        values = var.rule["condition"]["path_pattern"]
      }
    }
    dynamic "query_string" {
      for_each = var.rule["condition"]["query_string"]
      content {
        key   = query_string.value["key"]
        value = query_string.value["value"]
      }
    }
    dynamic "source_ip" {
      for_each = var.rule["condition"]["source_ip"]
      content {
        values = var.rule["condition"]["source_ip"]
      }
    }
  }

  lifecycle {
    ignore_changes = [condition, action]
  }
}

this is the variable:

Click to expand configuration
variable "rule" {
  type = object({
    body = map(string)
    action = object({
      body = map(string)
      forward = optional(object({
        target_group = list(object({
          body = map(string)
        }))
        stickiness = optional(object({
          body = map(string)
        }))
      }), null)
      fixed_response = optional(object({
        body = map(string)
      }), null)
    })
    condition = object({
      host_header = optional(list(string), [])
      http_header = optional(object({
        http_header_name = string
        values           = list(string)
      }))
      http_request_method = optional(list(string), [])
      path_pattern        = optional(list(string), [])
      query_string = optional(list(object({
        key   = string
        value = string
      })), [])
      source_ip = optional(list(string), [])
    })
  })
}

variable "listener_arn" {
  type    = string
  default = null
}

this is the init of the module:

Click to expand configuration
module "listener_rules" {
  count        = length(local.load_balancer_listener_rules)
  source       = "./modules/compute/load_balancer_listener_rule"
  rule         = local.load_balancer_listener_rules[count.index]
  listener_arn = module.listener.listener_arn
  depends_on = [
    module.listener,
    module.lb_target_groups
  ]
}

and this is the local

Click to expand configuration
load_balancer_listener_rules = [
    for rule in var.listener_rules : merge(
      rule, {
        "action" = merge(
          rule["action"], {
            "forward" = merge(
              rule["action"]["forward"], {
                "target_group" = [
                  for tg in try(rule["action"]["forward"]["target_group"], []) : merge(
                    tg, {
                      "body" = merge(
                        tg["body"], {
                          "target_group_arn" = try(local.tg_names_to_arns[tg["body"]["target_group_arn"]], "")
                        }
                      )
                    }
                  )
                ]
              }
            )
          }
        )
      }
    )
  ]

Steps to Reproduce

create a listener,
create an array of rules as a variable.
try to create the rules for the listener right after the listener is created

Debug Logging

Click to expand log output
2025-04-15T17:52:49.924+0300 [WARN]  Provider "registry.terraform.io/hashicorp/aws" produced an invalid plan for module.listener.aws_lb_listener.load_balancer_listener, but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .tcp_idle_timeout_seconds: planned value cty.UnknownVal(cty.Number) does not match config value cty.NumberIntVal(350)
      - .default_action[0].authenticate_cognito: block count in plan (0) disagrees with count in config (1)
      - .default_action[0].authenticate_oidc: block count in plan (0) disagrees with count in config (1)
      - .mutual_authentication: attribute representing nested block must not be unknown itself; set nested attribute values to unknown instead
2025-04-15T17:52:49.924+0300 [DEBUG] Resource instance state not found for node "module.listener_rules[0].aws_lb_listener_rule.load_balancer_listener_rule", instance module.listener_rules[0].aws_lb_listener_rule.load_balancer_listener_rule
2025-04-15T17:52:49.924+0300 [DEBUG] ReferenceTransformer: "module.listener_rules[0].aws_lb_listener_rule.load_balancer_listener_rule" references: []
2025-04-15T17:52:49.924+0300 [DEBUG] refresh: module.listener_rules[0].aws_lb_listener_rule.load_balancer_listener_rule: no state, so not refreshing
2025-04-15T17:52:49.928+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: [DEBUG] setting computed for "action.0.forward" from ComputedKeys
2025-04-15T17:52:49.928+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: [DEBUG] setting computed for "action.0.forward" from ComputedKeys
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: panic: value is not known
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: goroutine 306 [running]:
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/go-cty/cty.Value.LengthInt({{{0x1d8334c8?, 0xc004a89db0?}}, {0x18d13640?, 0x29388de0?}})
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/[email protected]/cty/value_ops.go:986 +0x26b
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.listenerActionPlantimeValidate({0xc004e90680, 0x2, 0x2}, {{{0x1d833570?, 0xc004c1a2e8?}}, {0x191d73e0?, 0xc004a83d10?}}, 0xc004a2abd8)
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1825 +0x5b0
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.listenerActionsPlantimeValidate({0xc003031f70, 0x1, 0x184f9e00?}, {{{0x1d8334c8?, 0xc004a89f70?}}, {0x184f9e00?, 0xc004c14c30?}}, 0xc004a2abd8)
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1775 +0xa5
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.resourceListenerRule.validateListenerActionsCustomDiff.func22({0xc00427f800?, 0xc004a2ac50?}, 0xa00f05?, {0x30?, 0x1a94a700?})
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1762 +0x165
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.resourceListenerRule.All.func23({0x1d8331e8, 0xc00427f800}, 0xc0032e2e00, {0x1b15dec0, 0xc0022b5700})
2025-04-15T17:52:49.934+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/customdiff/compose.go:52 +0xce
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-provider-aws/internal/provider.(*wrappedResource).customizeDiff.Sequence.func2({0x1d8331e8, 0xc00427f800}, 0xc0032e2e00, {0x1b15dec0, 0xc0022b5700})
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/customdiff/compose.go:69 +0x84
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-provider-aws/internal/provider.(*wrappedResource).customizeDiff.(*wrappedResource).customizeDiffWithBootstrappedContext.func3({0x1d8331e8?, 0xc004d855c0?}, 0xc0032e2e00, {0x1b15dec0, 0xc0022b5700})
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-provider-aws/internal/provider/wrap.go:139 +0x63
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.schemaMap.Diff(0xc0014d2d50, {0x1d8331e8, 0xc004d855c0}, 0xc002c744e0, 0xc003f674f0, 0xc0018e4d68, {0x1b15dec0, 0xc0022b5700}, 0x0)
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/schema.go:710 +0x4b4
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).SimpleDiff(0x1d833570?, {0x1d8331e8?, 0xc004d855c0?}, 0xc002c744e0, 0xc004d855f0?, {0x1b15dec0?, 0xc0022b5700?})
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:1022 +0xdb
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).PlanResourceChange(0xc002dfdef0, {0x1d8331e8?, 0xc004d854d0?}, 0xc003f66ff0)
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:890 +0xbc8
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-plugin-mux/tf5muxserver.(*muxServer).PlanResourceChange(0xc000d51a00, {0x1d8331e8?, 0xc004d85200?}, 0xc003f66ff0)
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/[email protected]/tf5muxserver/mux_server_PlanResourceChange.go:73 +0x2ad
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).PlanResourceChange(0xc0015cea00, {0x1d8331e8?, 0xc004d849c0?}, 0xc001f4c580)
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:826 +0x3dc
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_PlanResourceChange_Handler({0x1afcd260, 0xc0015cea00}, {0x1d8331e8, 0xc004d849c0}, 0xc001f4c500, 0x0)
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:593 +0x1a6
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: google.golang.org/grpc.(*Server).processUnaryRPC(0xc000d77400, {0x1d8331e8, 0xc004d84930}, 0xc00480c000, 0xc0012854a0, 0x2932bd60, 0x0)
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    google.golang.org/[email protected]/server.go:1400 +0x103b
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: google.golang.org/grpc.(*Server).handleStream(0xc000d77400, {0x1d867718, 0xc0012ca000}, 0xc00480c000)
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    google.golang.org/[email protected]/server.go:1810 +0xbaa
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: google.golang.org/grpc.(*Server).serveStreams.func2.1()
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    google.golang.org/[email protected]/server.go:1030 +0x7f
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe: created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 54
2025-04-15T17:52:49.935+0300 [DEBUG] provider.terraform-provider-aws_v5.89.0_x5.exe:    google.golang.org/[email protected]/server.go:1041 +0x125
2025-04-15T17:52:49.936+0300 [ERROR] plugin.(*GRPCProvider).PlanResourceChange: error="rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:64705->127.0.0.1:10000: wsarecv: An existing connection was forcibly closed by the remote host."
2025-04-15T17:52:49.936+0300 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:64705->127.0.0.1:10000: wsarecv: An existing connection was forcibly closed by the remote host."
2025-04-15T17:52:49.936+0300 [ERROR] vertex "module.listener_rules[0].aws_lb_listener_rule.load_balancer_listener_rule" error: Plugin did not respond
2025-04-15T17:52:49.936+0300 [ERROR] vertex "module.listener_rules.aws_lb_listener_rule.load_balancer_listener_rule (expand)" error: Plugin did not respond
2025-04-15T17:52:49.938+0300 [WARN]  Planning encountered errors, so plan is not applyable
2025-04-15T17:52:49.964+0300 [ERROR] provider: plugin process exited: plugin=.terraform/providers/registry.terraform.io/hashicorp/aws/5.89.0/windows_amd64/terraform-provider-aws_v5.89.0_x5.exe id=27908 error="exit status 2"

Stack trace from the terraform-provider-aws_v5.89.0_x5.exe plugin:

panic: value is not known

goroutine 306 [running]:
github.com/hashicorp/go-cty/cty.Value.LengthInt({{{0x1d8334c8?, 0xc004a89db0?}}, {0x18d13640?, 0x29388de0?}})
        github.com/hashicorp/[email protected]/cty/value_ops.go:986 +0x26b
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.listenerActionPlantimeValidate({0xc004e90680, 0x2, 0x2}, {{{0x1d833570?, 0xc004c1a2e8?}}, {0x191d73e0?, 0xc004a83d10?}}, 0xc004a2abd8)
        github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1825 +0x5b0
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.listenerActionsPlantimeValidate({0xc003031f70, 0x1, 0x184f9e00?}, {{{0x1d8334c8?, 0xc004a89f70?}}, {0x184f9e00?, 0xc004c14c30?}}, 0xc004a2abd8)
        github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1775 +0xa5
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.resourceListenerRule.validateListenerActionsCustomDiff.func22({0xc00427f800?, 0xc004a2ac50?}, 0xa00f05?, {0x30?, 0x1a94a700?})
        github.com/hashicorp/terraform-provider-aws/internal/service/elbv2/listener.go:1762 +0x165
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.resourceListenerRule.All.func23({0x1d8331e8, 0xc00427f800}, 0xc0032e2e00, {0x1b15dec0, 0xc0022b5700})
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/customdiff/compose.go:52 +0xce
github.com/hashicorp/terraform-provider-aws/internal/provider.(*wrappedResource).customizeDiff.Sequence.func2({0x1d8331e8, 0xc00427f800}, 0xc0032e2e00, {0x1b15dec0, 0xc0022b5700})
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/customdiff/compose.go:69 +0x84
github.com/hashicorp/terraform-provider-aws/internal/provider.(*wrappedResource).customizeDiff.(*wrappedResource).customizeDiffWithBootstrappedContext.func3({0x1d8331e8?, 0xc004d855c0?}, 0xc0032e2e00, {0x1b15dec0, 0xc0022b5700})
        github.com/hashicorp/terraform-provider-aws/internal/provider/wrap.go:139 +0x63
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.schemaMap.Diff(0xc0014d2d50, {0x1d8331e8, 0xc004d855c0}, 0xc002c744e0, 0xc003f674f0, 0xc0018e4d68, {0x1b15dec0, 0xc0022b5700}, 0x0)
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/schema.go:710 +0x4b4
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).SimpleDiff(0x1d833570?, {0x1d8331e8?, 0xc004d855c0?}, 0xc002c744e0, 0xc004d855f0?, {0x1b15dec0?, 0xc0022b5700?})
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:1022 +0xdb
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).PlanResourceChange(0xc002dfdef0, {0x1d8331e8?, 0xc004d854d0?}, 0xc003f66ff0)
        github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:890 +0xbc8
github.com/hashicorp/terraform-plugin-mux/tf5muxserver.(*muxServer).PlanResourceChange(0xc000d51a00, {0x1d8331e8?, 0xc004d85200?}, 0xc003f66ff0)
        github.com/hashicorp/[email protected]/tf5muxserver/mux_server_PlanResourceChange.go:73 +0x2ad
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).PlanResourceChange(0xc0015cea00, {0x1d8331e8?, 0xc004d849c0?}, 0xc001f4c580)
        github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:826 +0x3dc
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_PlanResourceChange_Handler({0x1afcd260, 0xc0015cea00}, {0x1d8331e8, 0xc004d849c0}, 0xc001f4c500, 0x0)
        github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:593 +0x1a6
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000d77400, {0x1d8331e8, 0xc004d84930}, 0xc00480c000, 0xc0012854a0, 0x2932bd60, 0x0)
        google.golang.org/[email protected]/server.go:1400 +0x103b
google.golang.org/grpc.(*Server).handleStream(0xc000d77400, {0x1d867718, 0xc0012ca000}, 0xc00480c000)
        google.golang.org/[email protected]/server.go:1810 +0xbaa
google.golang.org/grpc.(*Server).serveStreams.func2.1()
        google.golang.org/[email protected]/server.go:1030 +0x7f
created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 54
        google.golang.org/[email protected]/server.go:1041 +0x125

Error: The terraform-provider-aws_v5.89.0_x5.exe plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

2025-04-15T17:52:50.052+0300 [DEBUG] provider: plugin exited

GenAI / LLM Assisted Development

n/a

Important Facts and References

No response

Would you like to implement a fix?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugAddresses a defect in current functionality.crashResults from or addresses a Terraform crash or kernel panic.prioritizedPart of the maintainer teams immediate focus. To be addressed within the current quarter.service/elbv2Issues and PRs that pertain to the elbv2 service.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions