Skip to content

Instantly share code, notes, and snippets.

@dak1n1
Created August 21, 2020 22:16
Show Gist options
  • Save dak1n1/f7dc3231af106c432876a4139231da75 to your computer and use it in GitHub Desktop.
Save dak1n1/f7dc3231af106c432876a4139231da75 to your computer and use it in GitHub Desktop.
crash when checking for "" instead of nil
# this is the crash that occurs when checking for `""` instead of `nil` on this line:
https://github.com/hashicorp/terraform-provider-kubernetes/commit/c321a65f6ed3ae1c2919023dc869995d630d31d9#diff-78661496b766c91c6f623db24e222ce4R84
kubernetes_cluster_role.testmonitoring: Refreshing state... [id=testmonitoring]
kubernetes_cluster_role.test3: Refreshing state... [id=test3]
kubernetes_cluster_role.testaggregated: Creating...
Error: rpc error: code = Unavailable desc = transport is closing
panic: interface conversion: interface {} is nil, not map[string]interface {}
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes:
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: goroutine 66 [running]:
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: github.com/hashicorp/terraform-provider-kubernetes/kubernetes.expandClusterRoleAggregationRule(0xc0007a0db0, 0x1, 0x1, 0x1873760)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/kubernetes/structures_rbac.go:88 +0x295
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: github.com/hashicorp/terraform-provider-kubernetes/kubernetes.resourceKubernetesClusterRoleCreate(0xc0002a8850, 0x1a528c0, 0xc000b633e0, 0x2, 0x2ce19a0)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role.go:72 +0x2c6
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Resource).Apply(0xc0002ba700, 0xc0006da320, 0xc00065ea80, 0x1a528c0, 0xc000b633e0, 0x193c301, 0xc000a097c8, 0xc000a0fb90)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema/resource.go:305 +0x365
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Provider).Apply(0xc0008c2c80, 0xc000a218e0, 0xc0006da320, 0xc00065ea80, 0xc000a11ee8, 0xc0006fe148, 0x193e860)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema/provider.go:294 +0x99
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin.(*GRPCProviderServer).ApplyResourceChange(0xc000834140, 0x1f1f0a0, 0xc0006d81e0, 0xc0006e20c0, 0xc000834140, 0xc0006d81e0, 0xc000b18a48)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin/grpc_provider.go:885 +0x8b4
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x1af23c0, 0xc000834140, 0x1f1f0a0, 0xc0006d81e0, 0xc0006e2060, 0x0, 0x1f1f0a0, 0xc0006d81e0, 0xc0006e8000, 0x17e)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5/tfplugin5.pb.go:3189 +0x217
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: google.golang.org/grpc.(*Server).processUnaryRPC(0xc00048e160, 0x1f34a40, 0xc000103500, 0xc0006e4000, 0xc0006903c0, 0x2c9d1c0, 0x0, 0x0, 0x0)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:995 +0x460
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: google.golang.org/grpc.(*Server).handleStream(0xc00048e160, 0x1f34a40, 0xc000103500, 0xc0006e4000, 0x0)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:1275 +0xd3d
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000110030, 0xc00048e160, 0x1f34a40, 0xc000103500, 0xc0006e4000)
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:710 +0xa1
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: created by google.golang.org/grpc.(*Server).serveStreams.func1
2020-08-21T14:27:10.402-0700 [DEBUG] plugin.terraform-provider-kubernetes: /home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:708 +0xa1
2020-08-21T14:27:10.405-0700 [DEBUG] plugin: plugin process exited: path=/home/dakini/work/20200821/pr911/terraform-provider-kubernetes pid=430535 error="exit status 2"
2020/08/21 14:27:10 [DEBUG] kubernetes_cluster_role.testaggregated: apply errored, but we're indicating that via the Error pointer rather than returning it: rpc error: code = Unavailable desc = transport is closing
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalMaybeTainted
2020/08/21 14:27:10 [TRACE] EvalMaybeTainted: kubernetes_cluster_role.testaggregated encountered an error during creation, so it is now marked as tainted
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalWriteState
2020/08/21 14:27:10 [TRACE] EvalWriteState: removing state object for kubernetes_cluster_role.testaggregated
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalApplyProvisioners
2020/08/21 14:27:10 [TRACE] EvalApplyProvisioners: kubernetes_cluster_role.testaggregated has no state, so skipping provisioners
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalMaybeTainted
2020/08/21 14:27:10 [TRACE] EvalMaybeTainted: kubernetes_cluster_role.testaggregated encountered an error during creation, so it is now marked as tainted
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalWriteState
2020/08/21 14:27:10 [TRACE] EvalWriteState: removing state object for kubernetes_cluster_role.testaggregated
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalIf
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalIf
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalWriteDiff
2020/08/21 14:27:10 [TRACE] <root>: eval: *terraform.EvalApplyPost
2020/08/21 14:27:10 [ERROR] <root>: eval: *terraform.EvalApplyPost, err: rpc error: code = Unavailable desc = transport is closing
2020/08/21 14:27:10 [ERROR] <root>: eval: *terraform.EvalSequence, err: rpc error: code = Unavailable desc = transport is closing
2020/08/21 14:27:10 [TRACE] [walkApply] Exiting eval tree: kubernetes_cluster_role.testaggregated
2020/08/21 14:27:10 [TRACE] vertex "kubernetes_cluster_role.testaggregated": visit complete
2020/08/21 14:27:10 [TRACE] dag/walk: upstream of "provider.kubernetes (close)" errored, so skipping
2020/08/21 14:27:10 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping
2020/08/21 14:27:10 [TRACE] dag/walk: upstream of "root" errored, so skipping
2020/08/21 14:27:10 [TRACE] statemgr.Filesystem: creating backup snapshot at terraform.tfstate.backup
2020/08/21 14:27:10 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to 10
2020/08/21 14:27:10 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2020/08/21 14:27:10 [TRACE] statemgr.Filesystem: removing lock metadata file .terraform.tfstate.lock.info
2020/08/21 14:27:10 [TRACE] statemgr.Filesystem: unlocking terraform.tfstate using fcntl flock
2020-08-21T14:27:10.414-0700 [DEBUG] plugin: plugin exited
!!!!!!!!!!!!!!!!!!!!!!!!!!! TERRAFORM CRASH !!!!!!!!!!!!!!!!!!!!!!!!!!!!
Terraform crashed! This is always indicative of a bug within Terraform.
A crash log has been placed at "crash.log" relative to your current
working directory. It would be immensely helpful if you could please
report the crash with Terraform[1] so that we can fix this.
When reporting bugs, please include your terraform version. That
information is available on the first line of crash.log. You can also
get it by running 'terraform --version' on the command line.
SECURITY WARNING: the "crash.log" file that was created may contain
sensitive information that must be redacted before it is safe to share
on the issue tracker.
[1]: https://github.com/hashicorp/terraform/issues
!!!!!!!!!!!!!!!!!!!!!!!!!!! TERRAFORM CRASH !!!!!!!!!!!!!!!!!!!!!!!!!!!!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment