thaim / tflint-ruleset-formatter

TFLint ruleset for Terraform Language with more format checking
4 stars 1 forks source link

formatter_blank_line throws Failed to check ruleset; error reading from server: EOF #36

Closed fatbasstard closed 11 months ago

fatbasstard commented 1 year ago

When we have an "empty" file with multiple blank lines, the formatter_blank_line throws an error.

image

Debug output:

15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: 15:01:32 [DEBUG] rules/formatter_blank_line.go:63: start FormtterBlankLineRule
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: 15:01:32 [DEBUG] rules/formatter_blank_line.go:106: found 1 newline at start of empty_file.tf
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: panic: runtime error: index out of range [-1]
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: goroutine 41 [running]:
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: github.com/thaim/tflint-ruleset-formatter/rules.(*FormatterBlankLineRule).checkFileEnd(0x14000195678?, {0x104aa7540?, 0x14000140ec0?}, {0x14000036190?, 0xd?}, {0x14000195678?, 0x14000092930?, 0x1400009c2c0?})
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/work/tflint-ruleset-formatter/tflint-ruleset-formatter/rules/formatter_blank_line.go:131 +0x12c
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: github.com/thaim/tflint-ruleset-formatter/rules.(*FormatterBlankLineRule).checkTooManyBlankLines(0x14000140ec0?, {0x104aa7540, 0x14000140ec0}, {0x14000036190, 0xd}, 0x14000090300)
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/work/tflint-ruleset-formatter/tflint-ruleset-formatter/rules/formatter_blank_line.go:75 +0x114
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: github.com/thaim/tflint-ruleset-formatter/rules.(*FormatterBlankLineRule).Check(0x1400032ba50?, {0x104aa7540, 0x14000140ec0})
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/work/tflint-ruleset-formatter/tflint-ruleset-formatter/rules/formatter_blank_line.go:54 +0xac
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: github.com/terraform-linters/tflint-plugin-sdk/plugin/internal/host2plugin.(*GRPCServer).Check(0x1400025ac90, {0x104aa29c0, 0x14000360180}, 0x1049acb20?)
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/github.com/terraform-linters/tflint-plugin-sdk@v0.18.0/plugin/internal/host2plugin/server.go:145 +0x39c
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: github.com/terraform-linters/tflint-plugin-sdk/plugin/internal/proto._RuleSet_Check_Handler.func1({0x104aa29c0, 0x14000360180}, {0x104a24040?, 0x140003601b0})
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/github.com/terraform-linters/tflint-plugin-sdk@v0.18.0/plugin/internal/proto/tflint_grpc.pb.go:354 +0x74
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: github.com/terraform-linters/tflint-plugin-sdk/plugin/internal/interceptor.RequestLogging.func1({0x104aa29c0, 0x14000360180}, {0x104a24040?, 0x140003601b0?}, 0x14000306500, 0x1400033e9c0)
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/github.com/terraform-linters/tflint-plugin-sdk@v0.18.0/plugin/internal/interceptor/logging.go:16 +0x22c
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: github.com/terraform-linters/tflint-plugin-sdk/plugin/internal/proto._RuleSet_Check_Handler({0x104a5fbc0?, 0x1400025ac90}, {0x104aa29c0, 0x14000360180}, 0x1400034a930, 0x1400012b248)
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/github.com/terraform-linters/tflint-plugin-sdk@v0.18.0/plugin/internal/proto/tflint_grpc.pb.go:356 +0x138
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: google.golang.org/grpc.(*Server).processUnaryRPC(0x140001ca1e0, {0x104aa6918, 0x1400030c1a0}, 0x140003506c0, 0x1400025ad20, 0x104ec6c80, 0x0)
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:1360 +0xcb4
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: google.golang.org/grpc.(*Server).handleStream(0x140001ca1e0, {0x104aa6918, 0x1400030c1a0}, 0x140003506c0, 0x0)
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:1737 +0x82c
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: google.golang.org/grpc.(*Server).serveStreams.func1.1()
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:982 +0x84
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter: created by google.golang.org/grpc.(*Server).serveStreams.func1
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:1046: tflint-ruleset-formatter:    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:980 +0x16c
15:01:32 [DEBUG] go-plugin@v1.4.10/grpc_stdio.go:142: stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
15:01:32 [ERROR] go-plugin@v1.4.10/client.go:662: plugin process exited: path=/Users/fvanboven/.tflint.d/plugins/github.com/thaim/tflint-ruleset-formatter/0.3.0/tflint-ruleset-formatter pid=14584 error="exit status 2"
15:01:32 [DEBUG] go-plugin@v1.4.10/client.go:472: plugin exited
thaim commented 11 months ago

@fatbasstard Thank you for reporting the issue. This problem was resolved with #39