Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LB Listener panics during creation if targetGroupArn with a forward defaultAction is specified #3421

Closed
jpomeroy-lv opened this issue Feb 12, 2024 · 9 comments
Assignees
Labels
impact/panic This bug represents a panic or unexpected crash impact/regression Something that used to work, but is now broken kind/bug Some behavior is incorrect or out of spec p1 A bug severe enough to be the next item assigned to an engineer resolution/fixed This issue was fixed

Comments

@jpomeroy-lv
Copy link

What happened?

Running pulumi preview or up with the --refresh flag is causing a panic. The same code ran successfully on 2024-02-09. Other projects are using ELBs that do not have this problem.

Example

panic: value is null
goroutine 118 [running]:
github.com/hashicorp/go-cty/cty.Value.LengthInt({{{0x12468508?, 0xc004b42020?}}, {0x0?, 0x0?}})
	/home/runner/go/pkg/mod/github.com/hashicorp/go-cty@v1.4.1-0.20200723130312-85980079f637/cty/value_ops.go:989 +0x24f
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.flattenLbForwardActionOneOf({{{0x12468508?, 0xc004b42040?}}, {0xde79e80?, 0xc004b17560?}}, 0x9a00000000000010?, {{0xc004fee590, 0x7}, 0x0, 0x0, 0x0, ...}, ...)
	/home/runner/work/pulumi-aws/pulumi-aws/upstream/internal/service/elbv2/listener.go:1036 +0x1d0
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.flattenLbForwardAction(0xc004fb5e78?, {0x10a3cd3a, 0x6}, 0xc004fb5e30?, {{0xc004fee590, 0x7}, 0x0, 0x0, 0x0, 0xc004fd3980, ...}, ...)
	/home/runner/work/pulumi-aws/pulumi-aws/upstream/internal/service/elbv2/listener.go:1014 +0x22b
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.flattenLbListenerActions(0xdea6ca0?, {0x10a3cd3a, 0x6}, {0xc004fde4b0?, 0x1, 0xc004b38db0?})
	/home/runner/work/pulumi-aws/pulumi-aws/upstream/internal/service/elbv2/listener.go:979 +0x2c5
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.resourceListenerRuleRead({0x12468188?, 0xc004b39650}, 0xc0047bca00, {0x109dfdc0?, 0xc0002a3a40?})
	/home/runner/work/pulumi-aws/pulumi-aws/upstream/internal/service/elbv2/listener_rule.go:617 +0x87b
github.com/hashicorp/terraform-provider-aws/internal/provider.New.(*wrappedResource).Read.interceptedHandler[...].func9(0x7fae7bf44180?, {0x109dfdc0?, 0xc0002a3a40?})
	/home/runner/work/pulumi-aws/pulumi-aws/upstream/internal/provider/intercept.go:112 +0x283
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).read(0x12468268?, {0x12468268?, 0x1bb659e0?}, 0xd?, {0x109dfdc0?, 0xc0002a3a40?})
	/home/runner/go/pkg/mod/github.com/pulumi/terraform-plugin-sdk/v2@v2.0.0-20240202163305-e2a20ae13ef9/helper/schema/resource.go:795 +0x7a
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).RefreshWithoutUpgrade(0xc001fe4a80, {0x12468268, 0x1bb659e0}, 0xc0046a8d00, {0x109dfdc0, 0xc0002a3a40})
	/home/runner/go/pkg/mod/github.com/pulumi/terraform-plugin-sdk/v2@v2.0.0-20240202163305-e2a20ae13ef9/helper/schema/resource.go:1094 +0x552
github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.v2Provider.Refresh({0xc00103a9c0?, {0xc001eba950?, 0xc004788210?, 0xc002e5f680?}}, {0xc000b5e540?, 0x12468188?}, {0x10acb668, 0x14}, {0x12468620, 0xc0047aa708}, ...)
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.74.0/pkg/tfshim/sdk-v2/provider.go:151 +0x1d1
github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.(*providerWithPlanResourceChangeDispatch).Refresh(0xc001d68ed0, {0x12468188, 0xc004800270}, {0x10acb668, 0x14}, {0x12468620, 0xc0047aa708}, {0x122e6ae0, 0xc0047a1440})
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.74.0/pkg/tfshim/sdk-v2/provider2.go:710 +0xf3
github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.(*Provider).Read(0xc000d63980, {0x12468188?, 0xc0046805d0?}, 0xc00447dda0)
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.74.0/pkg/tfbridge/provider.go:1131 +0x8e3
github.com/pulumi/pulumi-terraform-bridge/x/muxer.(*muxer).Read.func1({0x124c7cb0?, 0xc000d63980?})
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7/muxer.go:369 +0x33
github.com/pulumi/pulumi-terraform-bridge/x/muxer.resourceMethod[...](0xc002f9eae0?, 0x40, 0xc0032c36d0?)
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7/muxer.go:322 +0xb5
github.com/pulumi/pulumi-terraform-bridge/x/muxer.(*muxer).Read(0x0?, {0x12468188?, 0xc0046805d0?}, 0x40?)
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7/muxer.go:368 +0x65
github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Read_Handler.func1({0x12468188, 0xc0046805d0}, {0x101fd040?, 0xc00447dda0})
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.105.0/proto/go/provider_grpc.pb.go:611 +0x75
github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x12468188, 0xc00405d470}, {0x101fd040, 0xc00447dda0}, 0xc0046ac000, 0xc00460e900)
	/home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x3d0
github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Read_Handler({0x1082c840?, 0xc002f9eae0}, {0x12468188, 0xc00405d470}, 0xc00401cf00, 0xc003128980)
	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.105.0/proto/go/provider_grpc.pb.go:613 +0x135
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000b3000, {0x12468188, 0xc00405d3b0}, {0x1249a0c0, 0xc0034429c0}, 0xc004646c60, 0xc002ff0060, 0x1bb10a58, 0x0)
	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.61.0/server.go:1385 +0xe03
google.golang.org/grpc.(*Server).handleStream(0xc0000b3000, {0x1249a0c0, 0xc0034429c0}, 0xc004646c60)
	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.61.0/server.go:1796 +0xfec
google.golang.org/grpc.(*Server).serveStreams.func2.1()
	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.61.0/server.go:1029 +0x8b
created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 68
	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.61.0/server.go:1040 +0x135

Output of pulumi about

CLI
Version 3.104.2
Go Version go1.21.6
Go Compiler gc

Plugins
NAME VERSION
aws 6.22.0
python unknown

Additional context

No response

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@jpomeroy-lv jpomeroy-lv added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team labels Feb 12, 2024
@jamie1911
Copy link
Contributor

We too are getting the same on pulumi-aws-6.22.0

    f"{APP_NAME}-{stack}-listener-rule",
    listener_arn=ecs_cluster_load_balancer_listener_arn,
    actions=[
        aws.lb.ListenerRuleActionArgs(
            type="forward",
            target_group_arn=load_balancer_target_group.arn,
        )
    ],
    conditions=[
        aws.lb.ListenerRuleConditionArgs(
            host_header=aws.lb.ListenerRuleConditionHostHeaderArgs(values=[hostname]),
        ),
    ],
)

@aureq aureq added the impact/panic This bug represents a panic or unexpected crash label Feb 13, 2024
@aureq
Copy link
Member

aureq commented Feb 13, 2024

Also confirmed separately

CLI
Version      3.105.0
Go Version   go1.21.6
Go Compiler  gc

Plugins
NAME  VERSION
aws   6.23.0-alpha.1707547286+6cef7e74
java  unknown

Host
OS       Microsoft Windows 10 Pro
Version  10.0.19045 Build 19045
Arch     x86_64

This project is written in java: executable='C:\Program Files\Common Files\Oracle\Java\javapath\java.exe' version='java 17.0.8 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)' java='C:\Program Files\Common Files\Oracle\Java\javapath\java.exe' javac='17.0.8'

Current Stack: organization/aws-pulumi/dev

TYPE                                                         URN
pulumi:pulumi:Stack                                          urn:pulumi:dev::aws-pulumi::pulumi:pulumi:Stack::aws-pulumi-dev
pulumi:providers:aws                                         urn:pulumi:dev::aws-pulumi::pulumi:providers:aws::default_6_23_0_alpha_1707547286_6cef7e74
aws:ec2/internetGateway:InternetGateway                      urn:pulumi:dev::aws-pulumi::aws:ec2/internetGateway:InternetGateway::reindeers-internet-gateway
aws:ec2/vpc:Vpc                                              urn:pulumi:dev::aws-pulumi::aws:ec2/vpc:Vpc::reindeers-vpc
aws:ec2/internetGatewayAttachment:InternetGatewayAttachment  urn:pulumi:dev::aws-pulumi::aws:ec2/internetGatewayAttachment:InternetGatewayAttachment::reindeers-internet-gateway-attachment
aws:ec2/routeTable:RouteTable                                urn:pulumi:dev::aws-pulumi::aws:ec2/routeTable:RouteTable::reindeers-private-route-table
aws:ec2/routeTable:RouteTable                                urn:pulumi:dev::aws-pulumi::aws:ec2/routeTable:RouteTable::reindeers-public-route-table
aws:ec2/subnet:Subnet                                        urn:pulumi:dev::aws-pulumi::aws:ec2/subnet:Subnet::reindeers-subnet-public-1
aws:ec2/subnet:Subnet                                        urn:pulumi:dev::aws-pulumi::aws:ec2/subnet:Subnet::reindeers-subnet-public-2
aws:ec2/subnet:Subnet                                        urn:pulumi:dev::aws-pulumi::aws:ec2/subnet:Subnet::reindeers-subnet-public-3
aws:ec2/routeTableAssociation:RouteTableAssociation          urn:pulumi:dev::aws-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::reindeers-subnet-route-table-association-public-1
aws:ec2/routeTableAssociation:RouteTableAssociation          urn:pulumi:dev::aws-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::reindeers-subnet-route-table-association-public-2
aws:ec2/routeTableAssociation:RouteTableAssociation          urn:pulumi:dev::aws-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::reindeers-subnet-route-table-association-public-3
aws:ec2/subnet:Subnet                                        urn:pulumi:dev::aws-pulumi::aws:ec2/subnet:Subnet::reindeers-subnet-private-3
aws:ec2/subnet:Subnet                                        urn:pulumi:dev::aws-pulumi::aws:ec2/subnet:Subnet::reindeers-subnet-private-1
aws:ec2/subnet:Subnet                                        urn:pulumi:dev::aws-pulumi::aws:ec2/subnet:Subnet::reindeers-subnet-private-2
aws:iam/role:Role                                            urn:pulumi:dev::aws-pulumi::aws:iam/role:Role::reindeers-ec2-role
aws:ec2/securityGroup:SecurityGroup                          urn:pulumi:dev::aws-pulumi::aws:ec2/securityGroup:SecurityGroup::reindeers-ec2-security-group
aws:ec2/routeTableAssociation:RouteTableAssociation          urn:pulumi:dev::aws-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::reindeers-subnet-route-table-association-private-3
aws:ec2/routeTableAssociation:RouteTableAssociation          urn:pulumi:dev::aws-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::reindeers-subnet-route-table-association-private-1
aws:ec2/securityGroup:SecurityGroup                          urn:pulumi:dev::aws-pulumi::aws:ec2/securityGroup:SecurityGroup::reindeers-load-balancer-security-group
aws:alb/targetGroup:TargetGroup                              urn:pulumi:dev::aws-pulumi::aws:alb/targetGroup:TargetGroup::reindeers-target-group
aws:ec2/routeTableAssociation:RouteTableAssociation          urn:pulumi:dev::aws-pulumi::aws:ec2/routeTableAssociation:RouteTableAssociation::reindeers-subnet-route-table-association-private-2
aws:iam/instanceProfile:InstanceProfile                      urn:pulumi:dev::aws-pulumi::aws:iam/instanceProfile:InstanceProfile::reindeers-instance-profile
aws:iam/rolePolicy:RolePolicy                                urn:pulumi:dev::aws-pulumi::aws:iam/rolePolicy:RolePolicy::reindeers-role-policy
aws:alb/loadBalancer:LoadBalancer                            urn:pulumi:dev::aws-pulumi::aws:alb/loadBalancer:LoadBalancer::reindeers-load-balancer
aws:ec2/instance:Instance                                    urn:pulumi:dev::aws-pulumi::aws:ec2/instance:Instance::reindeers-ec2
aws:route53/record:Record                                    urn:pulumi:dev::aws-pulumi::aws:route53/record:Record::reindeers-alb-record
aws:alb/targetGroupAttachment:TargetGroupAttachment          urn:pulumi:dev::aws-pulumi::aws:alb/targetGroupAttachment:TargetGroupAttachment::target-attachment


Found no pending operations associated with dev

Backend
Name           Surface
URL            file://~
User           SURFACE\xxxxx
Organizations
Token type     personal

No dependencies found

Pulumi locates its logs in C:\Users\xxxxx\AppData\Local\Temp by default

@joeduffy joeduffy added the p1 A bug severe enough to be the next item assigned to an engineer label Feb 13, 2024
@iwahbe iwahbe self-assigned this Feb 13, 2024
@iwahbe iwahbe removed the needs-triage Needs attention from the triage team label Feb 13, 2024
@iwahbe iwahbe assigned VenelinMartinov and unassigned iwahbe Feb 13, 2024
@iwahbe iwahbe added the impact/regression Something that used to work, but is now broken label Feb 13, 2024
@aureq
Copy link
Member

aureq commented Feb 13, 2024

For those affected by the issue, please try downgrading the AWS provider to 6.21.0.

@iamacup
Copy link

iamacup commented Feb 13, 2024

@aureq seems like we both found out about the same time ;-) #3423 (comment)

@VenelinMartinov
Copy link
Contributor

VenelinMartinov commented Feb 14, 2024

Here's a minimal repro in typescript:

import * as aws from "@pulumi/aws";

const vpc = new aws.ec2.Vpc("main", {cidrBlock: "10.0.0.0/16"});

const subnet = new aws.ec2.Subnet("main", {
    vpcId: vpc.id,
    cidrBlock: "10.0.12.0/24",
    availabilityZone: "us-east-1a"
});

const subnet2 = new aws.ec2.Subnet("subnet2", {
    vpcId: vpc.id,
    cidrBlock: "10.0.5.0/24",
    availabilityZone: "us-east-1b"
});

const secGroup = new aws.ec2.SecurityGroup("allowTls", {
    description: "Allow TLS inbound traffic and all outbound traffic",
    vpcId: vpc.id,
    tags: {
        Name: "allow_tls",
    },
});

const loadbalancer = new aws.lb.LoadBalancer("payload-lb", {
    loadBalancerType: "application",
    securityGroups: [secGroup.id],
    subnets: [subnet.id, subnet2.id],
    internal: true,
});

const targetGroup = new aws.lb.TargetGroup("payload-tg", {
port: 80,
protocol: "HTTP",
targetType: "ip",
vpcId: vpc.id,
});

new aws.lb.Listener("payload-lb-listner-http", {
loadBalancerArn: loadbalancer.arn,
port: 80,
protocol: "HTTP",
defaultActions: [
    {
    type: "forward",
    targetGroupArn: targetGroup.arn,
    },
],
});

Running pulumi up --skip-preview on that causes the panic in aws 6.22.

Commenting out the Listener gets rid of the panic as does reverting to 6.21.

I've edited the title of the issue to clarify the issue.

Looking at the AWS console it looks like the listener is actually created even though the creation panics.

This upstream commit seems highly relevant: hashicorp/terraform-provider-aws#35671
Also: hashicorp/terraform-provider-aws#35678

EDIT: The issue does not reproduce in TF:

provider "aws" {
  region = "us-east-1"
}

resource "aws_lb" "test" {
  name               = "test-lb-tf"
  load_balancer_type = "application"
  subnets            = ["subnet-024ee9ae807005167", "subnet-032845d3bdd2ee7c7"]
  internal           = true
}

resource "aws_lb_target_group" "test" {
  name     = "tf-example-lb-tg"
  port     = 80
  protocol = "HTTP"
  vpc_id   = "vpc-09331da3db2535e57"
}

resource "aws_lb_listener" "front_end" {
  load_balancer_arn = aws_lb.test.arn
  port              = "80"
  protocol          = "HTTP"

  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.test.arn
  }
}

This means this is likely an issue in our handling of nulls/empty in the bridge.

@VenelinMartinov VenelinMartinov changed the title Pulumi refresh is causing a panic LB Listener panics during creation Feb 14, 2024
@VenelinMartinov VenelinMartinov changed the title LB Listener panics during creation LB Listener panics during creation if targetGroupArn with a forward defaultAction is specified Feb 14, 2024
@VenelinMartinov
Copy link
Contributor

Still investigating the issue, to anyone who needs a workaround - looks like specifying the target groups via the forward parameter instead of the shorthand targetGroupArn works fine:

new aws.lb.Listener("payload-lb-listner-http", {
loadBalancerArn: loadbalancer.arn,
port: 80,
protocol: "HTTP",
defaultActions: [
    {
    type: "forward",
    forward: {
        targetGroups: [{arn: targetGroup.arn}],
    }
    },
],
});

instead of:

new aws.lb.Listener("payload-lb-listner-http", {
loadBalancerArn: loadbalancer.arn,
port: 80,
protocol: "HTTP",
defaultActions: [
    {
    type: "forward",
    targetGroupArn: targetGroup.arn,
    },
],
});

@VenelinMartinov
Copy link
Contributor

We're deploying a fix for the issue in #3426 which should get released a bit later today.

VenelinMartinov added a commit that referenced this issue Feb 14, 2024
This reverts the following upstream PRs:
hashicorp/terraform-provider-aws#35671
hashicorp/terraform-provider-aws#35678
as a quick fix to mitigate
#3421 until we root-cause it.

Details on my findings so far:
#3421 (comment)
It looks to me like the issue originates somewhere in our handling of
nulls/empty in the bridge, so seems unlikely to get fixed today.

It also adds a test for LB listeners. I've verified that the test
triggers the panic without the patches and that the patches resolve it.
@VenelinMartinov VenelinMartinov added the resolution/fixed This issue was fixed label Feb 14, 2024
@VenelinMartinov
Copy link
Contributor

We've released https://github.com/pulumi/pulumi-aws/releases/tag/v6.22.1 and I've confirmed the issue no longer replicates on that version.
Please update your dependencies and let me know if you are still having issues with this.

@asvinours
Copy link

asvinours commented Feb 25, 2024

Edit: the issue was coming from the fact that the pulumi state file was referencing 6.22.0 and was ignoring the version I was setting locally. I forced update the state file with the new provider version and the error went away.

pulumi up --target 'urn:pulumi:main::aam::pulumi:providers:aws::*'

I'm facing this issue and I tried 6.22.1, 6.22.2 and 6.23.0 but I always get the same error.
Before running pulumi I upgraded it to the latest version 3.107.0, cleared all the pulumi plugins and installed specifically 6.22.1 and I get the panic: value is null error. I tried the same process with 6.23.0, cleared all the plugins, ran a preview command and I get the error.

terminal output with error for pip install and pulumi preview
(env) $ python3 -m pip install -U -r requirements.txt pip && pulumi plugin rm --all --yes
Requirement already satisfied: pip in /Users/user1/aam/env/lib/python3.11/site-packages (24.0)
Requirement already satisfied: pulumi<4.0.0,>=3.65.0 in /Users/user1/aam/env/lib/python3.11/site-packages (from -r requirements.txt (line 1)) (3.107.0)
Requirement already satisfied: pulumi-aws==6.22.1 in /Users/user1/aam/env/lib/python3.11/site-packages (from -r requirements.txt (line 2)) (6.22.1)
Requirement already satisfied: pulumi-docker<5.0.0,>=4.1.2 in /Users/user1/aam/env/lib/python3.11/site-packages (from -r requirements.txt (line 3)) (4.5.1)
Requirement already satisfied: parver>=0.2.1 in /Users/user1/aam/env/lib/python3.11/site-packages (from pulumi-aws==6.22.1->-r requirements.txt (line 2)) (0.5)
Requirement already satisfied: semver>=2.8.1 in /Users/user1/aam/env/lib/python3.11/site-packages (from pulumi-aws==6.22.1->-r requirements.txt (line 2)) (2.13.0)
Requirement already satisfied: protobuf~=4.21 in /Users/user1/aam/env/lib/python3.11/site-packages (from pulumi<4.0.0,>=3.65.0->-r requirements.txt (line 1)) (4.25.3)
Requirement already satisfied: grpcio~=1.60.1 in /Users/user1/aam/env/lib/python3.11/site-packages (from pulumi<4.0.0,>=3.65.0->-r requirements.txt (line 1)) (1.60.1)
Requirement already satisfied: dill~=0.3 in /Users/user1/aam/env/lib/python3.11/site-packages (from pulumi<4.0.0,>=3.65.0->-r requirements.txt (line 1)) (0.3.8)
Requirement already satisfied: six~=1.12 in /Users/user1/aam/env/lib/python3.11/site-packages (from pulumi<4.0.0,>=3.65.0->-r requirements.txt (line 1)) (1.16.0)
Requirement already satisfied: pyyaml~=6.0 in /Users/user1/aam/env/lib/python3.11/site-packages (from pulumi<4.0.0,>=3.65.0->-r requirements.txt (line 1)) (6.0.1)
Requirement already satisfied: arpeggio>=1.7 in /Users/user1/aam/env/lib/python3.11/site-packages (from parver>=0.2.1->pulumi-aws==6.22.1->-r requirements.txt (line 2)) (2.0.2)
Requirement already satisfied: attrs>=19.2 in /Users/user1/aam/env/lib/python3.11/site-packages (from parver>=0.2.1->pulumi-aws==6.22.1->-r requirements.txt (line 2)) (23.2.0)
removed: resource aws-6.22.0
removed: resource aws-6.22.1
removed: resource docker-4.5.0
removed: resource docker-4.5.1

(env) $ pulumi preview --diff                                                            
Previewing update (main):
Downloading plugin: 21.42 MiB / 21.42 MiB [=========================] 100.00% 5s

Downloading plugin: 21.64 MiB / 212.59 MiB [==>-----------------]  10.18% 00m49s[resource plugin docker-4.5.1] installing
Downloading plugin: 21.55 MiB / 21.55 MiB [=========================] 100.00% 5s

[resource plugin docker-4.5.0] installing
Downloading plugin: 212.59 MiB / 212.59 MiB [======================] 100.00% 31s

[resource plugin aws-6.22.0] installing
Downloading plugin: 212.59 MiB / 212.59 MiB [======================] 100.00% 31s

[resource plugin aws-6.22.1] installing
~ pulumi:pulumi:Stack: (refresh)
    [urn=urn:pulumi:main::aam::pulumi:pulumi:Stack::aam-main]
panic: value is null    

goroutine 129 [running]:
github.com/hashicorp/go-cty/cty.Value.LengthInt({{{0x13074e68?, 0xc002a50e90?}}, {0x0?, 0x0?}})
	/home/runner/go/pkg/mod/github.com/hashicorp/go-cty@v1.4.1-0.20200723130312-85980079f637/cty/value_ops.go:989 +0x24f
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.flattenLbForwardActionOneOf({{{0x13074e68?, 0xc002a50eb0?}}, {0xea82420?, 0xc005612f60?}}, 0x7600000000000010?, {{0xc003431b70, 0x7}, 0x0, 0x0, 0x0, ...}, ...)
	/home/runner/work/pulumi-aws/pulumi-aws/upstream/internal/service/elbv2/listener.go:1036 +0x1d0
github.com/hashicorp/terraform-provider-aws/internal/service/elbv2.flattenLbForwardAction(0xc0034d8078?, {0x1168203b, 0xe}, 0xc0034d8030?, {{0xc003431b70, 0x7}, 0x0, 0x0, 0x0, 0xc00345f800, ...}, ...)
	/home/runner/work/pulumi-aws/pulumi-aws/upstream/internal/service/elbv2/listener.go:1014 +0x22b
[...]

VenelinMartinov added a commit that referenced this issue Mar 25, 2024
Adds another regression test for
#3421

The issue is not only present in Create but in Update - almost shipped a
half-fix in pulumi/pulumi-terraform-bridge#1725.

This test should ensure we don't ship a half-fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact/panic This bug represents a panic or unexpected crash impact/regression Something that used to work, but is now broken kind/bug Some behavior is incorrect or out of spec p1 A bug severe enough to be the next item assigned to an engineer resolution/fixed This issue was fixed
Projects
None yet
Development

No branches or pull requests

8 participants