terraform apply
runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc0244d4948 stack=[0xc0244d4000, 0xc0444d4000]
fatal error: stack overflow
runtime stack:
runtime.throw({0x27eac9b?, 0x40b26c0?})
/opt/hostedtoolcache/go/1.20.0/x64/src/runtime/panic.go:1047 +0x5d fp=0xc000113e18 sp=0xc000113de8 pc=0x43547d
runtime.newstack()
/opt/hostedtoolcache/go/1.20.0/x64/src/runtime/stack.go:1105 +0x5bd fp=0xc000113fc8 sp=0xc000113e18 pc=0x44eedd
runtime.morestack()
/opt/hostedtoolcache/go/1.20.0/x64/src/runtime/asm_amd64.s:574 +0x8b fp=0xc000113fd0 sp=0xc000113fc8 pc=0x4662cb
goroutine 1 [running]:
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionTerm(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:944 +0x2429 fp=0xc0244d4958 sp=0xc0244d4950 pc=0x8399c9
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionWithTraversals(0x0?)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:619 +0x25 fp=0xc0244d49d8 sp=0xc0244d4958 pc=0x832265
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0x0?, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:549 +0x138 fp=0xc0244d4f08 sp=0xc0244d49d8 pc=0x831718
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d5438 sp=0xc0244d4f08 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f50?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d5968 sp=0xc0244d5438 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f48?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d5e98 sp=0xc0244d5968 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f40?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d63c8 sp=0xc0244d5e98 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f38?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d68f8 sp=0xc0244d63c8 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f30?, 0x1?, 0x2817f?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d6e28 sp=0xc0244d68f8 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseTernaryConditional(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:495 +0xfe fp=0xc0244d73c8 sp=0xc0244d6e28 pc=0x8309de
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).ParseExpression(...)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:479
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionTerm(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:953 +0x233 fp=0xc0244d8320 sp=0xc0244d73c8 pc=0x8377d3
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionWithTraversals(0x0?)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:619 +0x25 fp=0xc0244d83a0 sp=0xc0244d8320 pc=0x832265
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0x0?, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:549 +0x138 fp=0xc0244d88d0 sp=0xc0244d83a0 pc=0x831718
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d8e00 sp=0xc0244d88d0 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f50?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d9330 sp=0xc0244d8e00 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f48?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d9860 sp=0xc0244d9330 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f40?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244d9d90 sp=0xc0244d9860 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f38?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244da2c0 sp=0xc0244d9d90 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f30?, 0x1?, 0x28180?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244da7f0 sp=0xc0244da2c0 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseTernaryConditional(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:495 +0xfe fp=0xc0244dad90 sp=0xc0244da7f0 pc=0x8309de
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).ParseExpression(...)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:479
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionTerm(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:953 +0x233 fp=0xc0244dbce8 sp=0xc0244dad90 pc=0x8377d3
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionWithTraversals(0x0?)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:619 +0x25 fp=0xc0244dbd68 sp=0xc0244dbce8 pc=0x832265
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0x0?, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:549 +0x138 fp=0xc0244dc298 sp=0xc0244dbd68 pc=0x831718
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244dc7c8 sp=0xc0244dc298 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f50?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244dccf8 sp=0xc0244dc7c8 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f48?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244dd228 sp=0xc0244dccf8 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f40?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244dd758 sp=0xc0244dd228 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f38?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244ddc88 sp=0xc0244dd758 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f30?, 0x1?, 0x28181?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244de1b8 sp=0xc0244ddc88 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseTernaryConditional(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:495 +0xfe fp=0xc0244de758 sp=0xc0244de1b8 pc=0x8309de
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).ParseExpression(...)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:479
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionTerm(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:953 +0x233 fp=0xc0244df6b0 sp=0xc0244de758 pc=0x8377d3
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionWithTraversals(0x0?)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:619 +0x25 fp=0xc0244df730 sp=0xc0244df6b0 pc=0x832265
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0x0?, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:549 +0x138 fp=0xc0244dfc60 sp=0xc0244df730 pc=0x831718
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e0190 sp=0xc0244dfc60 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f50?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e06c0 sp=0xc0244e0190 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f48?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e0bf0 sp=0xc0244e06c0 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f40?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e1120 sp=0xc0244e0bf0 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f38?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e1650 sp=0xc0244e1120 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f30?, 0x1?, 0x28182?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e1b80 sp=0xc0244e1650 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseTernaryConditional(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:495 +0xfe fp=0xc0244e2120 sp=0xc0244e1b80 pc=0x8309de
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).ParseExpression(...)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:479
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionTerm(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:953 +0x233 fp=0xc0244e3078 sp=0xc0244e2120 pc=0x8377d3
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseExpressionWithTraversals(0x0?)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:619 +0x25 fp=0xc0244e30f8 sp=0xc0244e3078 pc=0x832265
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0x0?, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:549 +0x138 fp=0xc0244e3628 sp=0xc0244e30f8 pc=0x831718
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f58?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e3b58 sp=0xc0244e3628 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f50?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e4088 sp=0xc0244e3b58 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f48?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e45b8 sp=0xc0244e4088 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f40?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e4ae8 sp=0xc0244e45b8 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f38?, 0x0?, 0x0?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e5018 sp=0xc0244e4ae8 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseBinaryOps(0xc0444d3120, {0xc0000d8f30?, 0x1?, 0x28183?})
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:563 +0x7d fp=0xc0244e5548 sp=0xc0244e5018 pc=0x83165d
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).parseTernaryConditional(0xc0444d3120)
/home/runner/go/pkg/mod/github.com/hashicorp/hcl/v2@v2.16.2/hclsyntax/parser.go:495 +0xfe fp=0xc0244e5ae8 sp=0xc0244e5548 pc=0x8309de
github.com/hashicorp/hcl/v2/hclsyntax.(*parser).ParseExpression(...)
terraform version
Terraform v1.5.0
on linux_amd64
The
hclsyntaxrecursive-descent parser has no nesting-depth limit, so a config with deeply nested parentheses overflows the goroutine stack and aborts withfatal error: stack overflow. This is a Go fatal error, not apanic, sorecover()cannot catch it — the whole process dies.Example:
main.tf.txt