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

(*interface {}) is not supported by the TextConsumer, can be resolved by supporting TextUnmarshaler interface #263

Open
kashyappatel1988 opened this issue Oct 9, 2022 · 12 comments

Comments

@kashyappatel1988
Copy link

kashyappatel1988 commented Oct 9, 2022

Hi there,
I am getting weird error with the this provider version on MAC m1. Does this plugin has support for MAC with M1 chip ?
Netbox version is 3.1.5

 Error: 0x1400019acc8 (*interface {}) is not supported by the TextConsumer, can be resolved by supporting TextUnmarshaler interface
│
│   with provider["registry.terraform.io/e-breuninger/netbox"],
│   on provider.tf line 10, in provider "netbox":
│   10: provider "netbox" {
@fbreckle
Copy link
Collaborator

This looks more like a version issue to me. Did you read version compatibility guide?

@kashyappatel1988
Copy link
Author

Yeah I did try other versions 1.2 and 1.3, which gave some other issue :(

❯ terraform plan
╷
│ Error: Plugin did not respond
│
│   with provider["registry.terraform.io/e-breuninger/netbox"],
│   on provider.tf line 10, in provider "netbox":
│   10: provider "netbox" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ConfigureProvider call. The plugin logs may contain
│ more details.
╵

Stack trace from the terraform-provider-netbox_v1.2.0 plugin:


❯ terraform plan
╷
│ Error: Plugin did not respond
│
│   with provider["registry.terraform.io/e-breuninger/netbox"],
│   on provider.tf line 10, in provider "netbox":
│   10: provider "netbox" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ConfigureProvider call. The plugin logs may contain
│ more details.
╵

Stack trace from the terraform-provider-netbox_v1.3.0 plugin:

@fbreckle
Copy link
Collaborator

Well, for netbox 3.1.5, you should be able to use the provider versions up to (but excluding) 1.6.
So you should go with the latest 1.5.x provider. Generally speaking, when a provider was released, it definitely worked against the version specified in the compatibilty guide.

If that does not help, I cannot help you. We do not support old netbox versions (and the corresponding providers). The error you are getting is also quite generic, so I cannot help you just based on the message.

Another option would be to upgrade your netbox and use a newer provider.

@NoNalTrX
Copy link

NoNalTrX commented Oct 20, 2022

Hey!
I had exactly the same error, the origin of the problem was the trailing at the end of the server_url in the provider block.

make sure you don't have it:

provider "netbox" {
server_url = "https://your-netbox-url
api_token = var.netbox_token
}

@fbreckle
Copy link
Collaborator

Good point, in this case, this is a duplicate of #198

I think I might have to re-consider disallowing a trailing slash in the url!

@kashyappatel1988
Copy link
Author

thanks for your comment. I dont have forward slash at tailing end however similar error.
It does say some seem like go lang issues. I am on M1 mac

╷
│ Error: Plugin did not respond
│
│   with provider["registry.terraform.io/e-breuninger/netbox"],
│   on provider.tf line 10, in provider "netbox":
│   10: provider "netbox" {
│
│ The plugin encountered an error, and failed to respond to the
│ plugin.(*GRPCProvider).ConfigureProvider call. The plugin logs may contain more details.
╵

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x100d2ae88]

goroutine 25 [running]:
github.com/fbreckle/go-netbox/netbox/client/status.(*StatusListOK).GetPayload(...)
	github.com/fbreckle/go-netbox@v0.0.0-20220117123939-7f4dc1816b81/netbox/client/status/statu4
github.com/e-breuninger/terraform-provider-netbox/netbox.providerConfigure({0x10129fcc0, 0x14000229)
	github.com/e-breuninger/terraform-provider-netbox/netbox/provider.go:106 +0x288
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Provider).Configure(0x14000122420, {0x)
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.10.1/helper/schema/provider.go:296 +0x260
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ConfigureProvider()
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.10.1/helper/schema/grpc_provider.go:523 +0xc
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).Configure(0x14000414d80, {0x)
	github.com/hashicorp/terraform-plugin-go@v0.5.0/tfprotov5/tf5server/server.go:387 +0x2ac
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_Configure_Handler({)
	github.com/hashicorp/terraform-plugin-go@v0.5.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc0
google.golang.org/grpc.(*Server).processUnaryRPC(0x1400056aa80, {0x1012adb90, 0x1400002a000}, 0x140)
	google.golang.org/grpc@v1.40.0/server.go:1297 +0xc60
google.golang.org/grpc.(*Server).handleStream(0x1400056aa80, {0x1012adb90, 0x1400002a000}, 0x140000)
	google.golang.org/grpc@v1.40.0/server.go:1626 +0xa34
google.golang.org/grpc.(*Server).serveStreams.func1.2(0x14000438450, 0x1400056aa80, {0x1012adb90, 0)
	google.golang.org/grpc@v1.40.0/server.go:941 +0x94
created by google.golang.org/grpc.(*Server).serveStreams.func1
	google.golang.org/grpc@v1.40.0/server.go:939 +0x1f0

@barnabasbusa
Copy link

I have encountered the same issue. For me the issue was due to an additional authentication that I have setup in front of netbox. (Cloudflare access). Once I disabled cloudflare access for the site, I was able to authenticate with a token. (By default the superadmin token has no IP allowed, so I had to manually create another token).

@tagur87
Copy link
Contributor

tagur87 commented May 10, 2023

As an FYI, we also ran into this issue.

Seems to have been caused by us updating the schema of the DB before the app was updated to 3.5. Once we got the app updated, the error went away for the new resources we were adding.

@bloudraak
Copy link

I also ran into this issue. In this case, this had to do with a DNS related issue where netbox.oak01.example.net was available on port 80, but when going through port 443, the firewall will NAT it to another server which returned 403 and an HTML body.

Other Go applications reported similiar issues and it was corrected through better error handling.

@kamenskiyyyy
Copy link

I have encountered the same issue. The error occurs only on M1 mac, everything is successful on gitlab runner

@pulchart
Copy link

Hello,

we were triggering issue Error: 0xc0002a8ad0 (*interface {}) is not supported by the TextConsumer, can be resolved by supporting TextUnmarshaler interface' quite often when API of NetBox server is used.

What we figured out the problem is caused by Connection reset during max-requests auto-restart with gthread (benoitc/gunicorn#3038).

So workaround is to set
max_requests = 0
for NetBox's server side gunicorn.

Fix at least in my opinion is: The client shall NOT expect connection to server API to be 100% stable. So it shall do a few retries if network connection glitch happens.

Best!

@MaxAnderson95
Copy link

MaxAnderson95 commented Mar 8, 2024

I'm seeing this problem across MacOS arm64, Linux arm64 & amd64. The only platform I don't see it with is Windows amd64.

Tried settings max_requests = 0 but did not work.

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

9 participants