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

Value out of range on 32-bit architecture #1236

Open
slevenick opened this issue Aug 28, 2023 · 3 comments
Open

Value out of range on 32-bit architecture #1236

slevenick opened this issue Aug 28, 2023 · 3 comments
Labels
bug Something isn't working terraform-plugin-framework Resolved in terraform-plugin-framework

Comments

@slevenick
Copy link

Essentially a duplicate of #469 because I can't reopen. This continues to reoccur in the Google provider from time to time. For reference:
hashicorp/terraform-provider-google#15501
hashicorp/terraform-provider-google#13775

SDK version

1.11.0 - v2.24.0 (at least)

Relevant provider source code

Terraform Configuration Files

See linked bugs, though I'm not sure it's reproducible deterministically

Debug Output

Expected Behavior

Actual Behavior

panic: Error reading level state: strconv.ParseInt: parsing "1691737052926": value out of range

goroutine 210 [running]:
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*ResourceData).get(0x1774b9a0, {0x178009a0, 0x1, 0x1}, 0x8)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.0/helper/schema/resource_data.go:553 +0x279
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*ResourceData).State(0x1774b9a0)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.0/helper/schema/resource_data.go:351 +0x3a7
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).ShimInstanceStateFromValue(0x16883b90, {{{0x3dba9a0, 0x1776ffa0}}, {0x31e6fe0, 0x1675a600}})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.0/helper/schema/resource.go:599 +0x1d9
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ReadResource(0x16c496a0, {0x3dba2c0, 0x171a7218}, 0x165c1a40)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.0/helper/schema/grpc_provider.go:587 +0x23f
github.com/hashicorp/terraform-plugin-mux/tf5muxserver.muxServer.ReadResource({0x16c079e0, 0x16c07a20, {0x16cd8260, 0x2, 0x2}, {0x0, 0x0, 0x0}, {0x0, 0x0, ...}, ...}, ...)
        github.com/hashicorp/terraform-plugin-mux@v0.8.0/tf5muxserver/mux_server_ReadResource.go:26 +0x151
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ReadResource(0x1701a3c0, {0x3dba2c0, 0x171a6e58}, 0x16d185d0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:748 +0x4c5
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ReadResource_Handler({0x36ceda0, 0x1701a3c0}, {0x3dba2c0, 0x171a6e58}, 0x17755440, 0x0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:349 +0x18a
google.golang.org/grpc.(*Server).processUnaryRPC(0x17010d80, {0x3dbecfc, 0x16f74240}, 0x165200a0, 0x16dfc978, 0x54e6b48, 0x0)
        google.golang.org/grpc@v1.56.2/server.go:1337 +0xed7

Steps to Reproduce

Not entirely sure, we need to get a huge number into a resource in a 32-bit architecture. It seems to come up sometimes, but I'm not sure why exactly

References

#469 but I can't reopen it

@bflad
Copy link
Member

bflad commented Aug 29, 2023

Hi @slevenick 👋 Thank you for raising this and sorry you folks are running into trouble here. Not suggesting this should be closed, but related issue for tracking: #1215

Unfortunately I need to say upfront that this should not be an issue when resources are migrated to terraform-plugin-framework, since its type system through-and-through supports 64-bit integers, 64-bit floating point numbers, and 512-bit arbitrary precision numbers if really necessary. The internals of this SDK tend to rely on the runtime architecture specific int type, which means it could be awkward to adjust in certain cases, especially if the changes would affect exported functionality.

@slevenick
Copy link
Author

Ok, good to know that the plugin framework will fix it. We are still a ways away from being able to convert existing resources to the plugin framework, so any workarounds of possible fixes on the SDK would be helpful

@Boardtale
Copy link

Boardtale commented Jan 2, 2024

This looks like a blocker, is there any workaround?
I have Windows 64 bit and I just can't work with terraform.

Upgraded GCP provider and terraform and no success.
There's no option to choose how to run Terraform (64 vs 32) so why it is trying to run it be default using x32?

The problematic thing is:
"module": "module.gcp_bigquery",
"mode": "managed",
"type": "google_bigquery_dataset",
we have there
"creation_time": 1682188988890,

actually, there are much more ints. Also in google_bigquery_table and in google_compute_managed_ssl_certificate - certificate_id.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working terraform-plugin-framework Resolved in terraform-plugin-framework
Projects
None yet
Development

No branches or pull requests

3 participants