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

Plugin crashes when trying to interact with a manually shutdown multipass instance #22

Open
ColorfulRhino opened this issue Nov 4, 2023 · 0 comments

Comments

@ColorfulRhino
Copy link

Used plugin version: 1.4.2
Platform: Windows 10
Multipass version: 1.12.2

When some multipass instances have been created with this plugin and you shut one down manually, the plugin crashed when using terraform plan.

Expected Behavior

Create some multipass instances with Terraform. Stop an instance outside of Terraform (e.g. manual shutdown or instance crashes). Using terraform apply should get the missing instance online again.
Note: I am new to Terraform and have not fully understood all concepts. I apologize if the Terraform state is expected to be immutable at all times (as in a multipass instance should never go down manually).

Current Behavior

Instead of the missing instance restarting and going online again, the plugin crashes.
Using terraform plan gives the following error messages:

Planning failed. Terraform encountered an error while generating this plan.

╷
│ Error: Plugin did not respond
│
│ The plugin encountered an error, and failed to respond to the plugin6.(*GRPCProvider).ReadResource call. The plugin logs may contain more
│ details.
╵
╷
│ Error: Plugin did not respond
│
│ The plugin encountered an error, and failed to respond to the plugin6.(*GRPCProvider).ReadResource call. The plugin logs may contain more
│ details.
╵
╷
│ Error: Plugin did not respond
│
│ The plugin encountered an error, and failed to respond to the plugin6.(*GRPCProvider).ReadResource call. The plugin logs may contain more
│ details.
╵

Stack trace from the terraform-provider-multipass_v1.4.2.exe plugin:

panic: runtime error: index out of range [1] with length 1

goroutine 44 [running]:
github.com/larstobi/go-multipass/multipass.parseInfo({0xc000244100, 0xf2})
        github.com/larstobi/[email protected]/multipass/info.go:71 +0x812
github.com/larstobi/go-multipass/multipass.Info(0xe16c90?)
        github.com/larstobi/[email protected]/multipass/info.go:23 +0x16c
terraform-provider-multipass/internal/provider.instanceResource.Read({{0x0?, {0x0?, 0x0?}}}, {0xe13360, _}, {{{{0xe16c90, 0xc00016e8d0}, {0xc49060, 0xc00016e600}}, {0xc00058b320, ...}}, ...}, ...)
        terraform-provider-multipass/internal/provider/resource_instance.go:162 +0x133
github.com/hashicorp/terraform-plugin-framework/internal/fwserver.(*Server).ReadResource(0xc0003fa000, {0xe13360, 0xc0002014d0}, 0xc0004789c0, 0xc00017d6b8)
        github.com/hashicorp/[email protected]/internal/fwserver/server_readresource.go:73 +0x4d7
github.com/hashicorp/terraform-plugin-framework/internal/proto6server.(*Server).ReadResource(0xc0003fa000, {0xe13360?, 0xc000201380?}, 0xc000478840)
        github.com/hashicorp/[email protected]/internal/proto6server/server_readresource.go:52 +0x238
github.com/hashicorp/terraform-plugin-go/tfprotov6/tf6server.(*server).ReadResource(0xc0003d20a0, {0xe13360?, 0xc000090900?}, 0xc00036c780)
        github.com/hashicorp/[email protected]/tfprotov6/tf6server/server.go:745 +0x423
github.com/hashicorp/terraform-plugin-go/tfprotov6/internal/tfplugin6._Provider_ReadResource_Handler({0xce5c40?, 0xc0003d20a0}, {0xe13360, 0xc000090900}, 0xc000376690, 0x0)
        github.com/hashicorp/[email protected]/tfprotov6/internal/tfplugin6/tfplugin6_grpc.pb.go:349 +0x170

[...]

Thank you for developing this plugin! ❤

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant