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

crash while destroying two equinix_ecx_l2_connection #403

Closed
ocobles opened this issue Oct 5, 2023 · 3 comments
Closed

crash while destroying two equinix_ecx_l2_connection #403

ocobles opened this issue Oct 5, 2023 · 3 comments
Labels
area/resources/fabric Issues related to Fabric and ECX APIs

Comments

@ocobles
Copy link
Contributor

ocobles commented Oct 5, 2023

│ Error: Plugin did not respond

│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.


│ Error: Plugin did not respond

│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.

Stack trace from the terraform-provider-equinix_v1.17.0 plugin:

fatal error: concurrent map writes
fatal error: concurrent map writes

goroutine 41 [running]:
net/textproto.MIMEHeader.Set(...)
net/textproto/header.go:22
net/http.Header.Set(...)
net/http/header.go:40
github.com/go-resty/resty/v2.(*Client).SetHeader(...)
github.com/go-resty/resty/[email protected]/client.go:165
github.com/equinix/terraform-provider-equinix/equinix.(*Config).addModuleToECXUserAgent(0xc000078900?, 0xc0007ced28, 0x0?)
github.com/equinix/terraform-provider-equinix/equinix/config.go:287 +0xee
github.com/equinix/terraform-provider-equinix/equinix.resourceECXL2ConnectionDelete({0x1f00ae8, 0xc00074f0b0}, 0xc000174480, {0x1ce65e0?, 0xc000771200?})
github.com/equinix/terraform-provider-equinix/equinix/resource_ecx_l2_connection.go:770 +0x99
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).delete(0xc00044f960, {0x1f00b20, 0xc000706e70}, 0xd?, {0x1ce65e0, 0xc000771200})
github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:758 +0x12e
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc00044f960, {0x1f00b20, 0xc000706e70}, 0xc000121040, 0xc000174400, {0x1ce65e0, 0xc000771200})
github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:806 +0x605
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc000010078, {0x1f00b20?, 0xc000706d50?}, 0xc0004b4190)
github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:1021 +0xe8d
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc0000e0dc0, {0x1f00b20?, 0xc000706180?}, 0xc000910150)
github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:818 +0x574
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0x1d19160?, 0xc0000e0dc0}, {0x1f00b20, 0xc000706180}, 0xc0009100e0, 0x0)
github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc00026c1e0, {0x1f04dd8, 0xc000093520}, 0xc000736120, 0xc0000bd9e0, 0x260b820, 0x0)
google.golang.org/[email protected]/server.go:1337 +0xdf3
google.golang.org/grpc.(*Server).handleStream(0xc00026c1e0, {0x1f04dd8, 0xc000093520}, 0xc000736120, 0x0)
google.golang.org/[email protected]/server.go:1714 +0xa36
google.golang.org/grpc.(*Server).serveStreams.func1.1()
google.golang.org/[email protected]/server.go:959 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
google.golang.org/[email protected]/server.go:957 +0x18c

goroutine 1 [select]:
github.com/hashicorp/go-plugin.Serve(0xc00012ca80)
github.com/hashicorp/[email protected]/server.go:471 +0x14d2
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.Serve({0x1d7a2d4, 0x8}, 0xc0002bcd10, {0x0, 0x0, 0x0})
github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:312 +0xc0a
github.com/hashicorp/terraform-plugin-sdk/v2/plugin.tf5serverServe(0xc00012ca20)
github.com/hashicorp/terraform-plugin-sdk/[email protected]/plugin/serve.go:185 +0x4d9
github.com/hashicorp/terraform-plugin-sdk/v2/plugin.Serve(0xc00012ca20)
github.com/hashicorp/terraform-plugin-sdk/[email protected]/plugin/serve.go:125 +0x18d
main.main()
github.com/equinix/terraform-provider-equinix/main.go:28 +0x13f

goroutine 18 [select]:
github.com/hashicorp/go-plugin.(*gRPCBrokerServer).Recv(0x0?)
github.com/hashicorp/[email protected]/grpc_broker.go:121 +0x67
github.com/hashicorp/go-plugin.(*GRPCBroker).Run(0xc000219180)
github.com/hashicorp/[email protected]/grpc_broker.go:411 +0x44
created by github.com/hashicorp/go-plugin.(*GRPCServer).Init
github.com/hashicorp/[email protected]/grpc_server.go:85 +0x46a

goroutine 19 [IO wait]:
internal/poll.runtime_pollWait(0x2e55e18, 0x72)
runtime/netpoll.go:306 +0x89
internal/poll.(*pollDesc).wait(0xc00012cf00?, 0xc00007c000?, 0x1)
internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012cf00, {0xc00007c000, 0x1000, 0x1000})
internal/poll/fd_unix.go:167 +0x299
os.(*File).read(...)
os/file_posix.go:31
os.(*File).Read(0xc00012aa78, {0xc00007c000?, 0x400?, 0x1bbc920?})
os/file.go:118 +0x5e
bufio.(*Reader).Read(0xc000070f40, {0xc00003e400, 0x400, 0x0?})
bufio/bufio.go:237 +0x1bb
github.com/hashicorp/go-plugin.copyChan({0x1f07898, 0xc00021cb40}, 0x0?, {0x1efc0a0?, 0xc00012aa78?})
github.com/hashicorp/[email protected]/grpc_stdio.go:181 +0x1f6
created by github.com/hashicorp/go-plugin.newGRPCStdioServer
github.com/hashicorp/[email protected]/grpc_stdio.go:37 +0xf5

goroutine 20 [IO wait]:
internal/poll.runtime_pollWait(0x2e55c38, 0x72)
runtime/netpoll.go:306 +0x89
internal/poll.(*pollDesc).wait(0xc00012cfc0?, 0xc00007d000?, 0x1)
internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012cfc0, {0xc00007d000, 0x1000, 0x1000})
internal/poll/fd_unix.go:167 +0x299
os.(*File).read(...)
os/file_posix.go:31
os.(*File).Read(0xc00012aa88, {0xc00007d000?, 0x400?, 0x1bbc920?})
os/file.go:118 +0x5e
bufio.(*Reader).Read(0xc000071740, {0xc00003e800, 0x400, 0x0?})
bufio/bufio.go:237 +0x1bb
github.com/hashicorp/go-plugin.copyChan({0x1f07898, 0xc00021cb40}, 0x0?, {0x1efc0a0?, 0xc00012aa88?})
github.com/hashicorp/[email protected]/grpc_stdio.go:181 +0x1f6
created by github.com/hashicorp/go-plugin.newGRPCStdioServer
github.com/hashicorp/[email protected]/grpc_stdio.go:38 +0x185

goroutine 49 [syscall]:
os/signal.signal_recv()
runtime/sigqueue.go:149 +0x28
os/signal.loop()

@ctreatma
Copy link
Contributor

ctreatma commented Oct 5, 2023

#286 reports a similar issue with an NE resource; the approach we use for modifying the User-Agent for those clients may be a problem.

@ocobles
Copy link
Contributor Author

ocobles commented Oct 5, 2023

worked second time though, I guess concurrent writing can be avoided. TIL: https://go.dev/blog/race-detector

@ctreatma
Copy link
Contributor

ctreatma commented Aug 6, 2024

Closing this issue since ECX resources and the underlying API no longer exist. A similar problem still affects Network Edge resources and data sources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/resources/fabric Issues related to Fabric and ECX APIs
Projects
None yet
Development

No branches or pull requests

3 participants