Skip to content

Conversation

@ringods
Copy link
Member

@ringods ringods commented Oct 31, 2025

Activate a muxed provider. The muxed provider wraps a native provider implemented with pulumi-go-provider.

@ringods ringods marked this pull request as draft October 31, 2025 13:42
@iwahbe
Copy link

iwahbe commented Nov 5, 2025

I believe the current panic is caused by a bug in pulumi-go-provider's GetSchema. I'll open a PR later to today to fix it.

Looks like p.GetSchema was a function that was neither load-baring nor tested and we broke it during the v1.0.0 migration.

iwahbe added a commit to pulumi/pulumi-go-provider that referenced this pull request Nov 5, 2025
It looks like `GetSchema` was abandon, there weren't any tests for it and it was completely
broken with `infer`. See pulumiverse/pulumi-talos#195 for an
example:

	panic: interface conversion: interface {} is nil, not provider.RunInfo

	goroutine 1 [running]:
	github.com/pulumi/pulumi-go-provider.GetRunInfo(...)
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:607
	github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).generateSchema(_, {_, _})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:289 +0x9f0
	github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).GetSchema(0xc000ddaea0, {0x494e508, 0xc0012ee370}, {0xc0008e7c70?})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:191 +0x11b
	github.com/pulumi/pulumi-go-provider/middleware/cancel.Wrap.setCancel2[...].func7({0x0?})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/cancel/cancel.go:134 +0xa2
	github.com/pulumi/pulumi-go-provider.GetSchema({_, _}, {_, _}, {_, _}, {0xc000ddc810, 0x0, 0xc000dbc240, 0xc000ddc840, ...})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:557 +0x191
	github.com/pulumiverse/pulumi-talos/provider/native.(*Provider).GetSpec(_, {_, _}, {_, _}, {_, _})
		/home/runner/work/pulumi-talos/pulumi-talos/provider/native/provider.go:36 +0xf6
	github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen.genPulumiSchema(_, {_, _}, {_, _}, {{0x49a43c0, 0xc000da68c0}, {0x41d1110, 	0x5}, {0x0, ...}, ...}, ...)
		/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfgen/generate_schema.go:251 +0x347
iwahbe added a commit to pulumi/pulumi-go-provider that referenced this pull request Nov 5, 2025
It looks like `GetSchema` was abandon, there weren't any tests for it and it was completely
broken with `infer`. See pulumiverse/pulumi-talos#195 for an
example:

	panic: interface conversion: interface {} is nil, not provider.RunInfo

	goroutine 1 [running]:
	github.com/pulumi/pulumi-go-provider.GetRunInfo(...)
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:607
	github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).generateSchema(_, {_, _})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:289 +0x9f0
	github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).GetSchema(0xc000ddaea0, {0x494e508, 0xc0012ee370}, {0xc0008e7c70?})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:191 +0x11b
	github.com/pulumi/pulumi-go-provider/middleware/cancel.Wrap.setCancel2[...].func7({0x0?})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/cancel/cancel.go:134 +0xa2
	github.com/pulumi/pulumi-go-provider.GetSchema({_, _}, {_, _}, {_, _}, {0xc000ddc810, 0x0, 0xc000dbc240, 0xc000ddc840, ...})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:557 +0x191
	github.com/pulumiverse/pulumi-talos/provider/native.(*Provider).GetSpec(_, {_, _}, {_, _}, {_, _})
		/home/runner/work/pulumi-talos/pulumi-talos/provider/native/provider.go:36 +0xf6
	github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen.genPulumiSchema(_, {_, _}, {_, _}, {{0x49a43c0, 0xc000da68c0}, {0x41d1110, 	0x5}, {0x0, ...}, ...}, ...)
		/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfgen/generate_schema.go:251 +0x347
@iwahbe
Copy link

iwahbe commented Nov 5, 2025

The panic should be fixed when pulumi/pulumi-go-provider#422 merges.

iwahbe added a commit to pulumi/pulumi-go-provider that referenced this pull request Nov 13, 2025
It looks like `GetSchema` was abandon, there weren't any tests for it and it was completely
broken with `infer`. See pulumiverse/pulumi-talos#195 for an
example:

	panic: interface conversion: interface {} is nil, not provider.RunInfo

	goroutine 1 [running]:
	github.com/pulumi/pulumi-go-provider.GetRunInfo(...)
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:607
	github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).generateSchema(_, {_, _})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:289 +0x9f0
	github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).GetSchema(0xc000ddaea0, {0x494e508, 0xc0012ee370}, {0xc0008e7c70?})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:191 +0x11b
	github.com/pulumi/pulumi-go-provider/middleware/cancel.Wrap.setCancel2[...].func7({0x0?})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/cancel/cancel.go:134 +0xa2
	github.com/pulumi/pulumi-go-provider.GetSchema({_, _}, {_, _}, {_, _}, {0xc000ddc810, 0x0, 0xc000dbc240, 0xc000ddc840, ...})
		/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:557 +0x191
	github.com/pulumiverse/pulumi-talos/provider/native.(*Provider).GetSpec(_, {_, _}, {_, _}, {_, _})
		/home/runner/work/pulumi-talos/pulumi-talos/provider/native/provider.go:36 +0xf6
	github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen.genPulumiSchema(_, {_, _}, {_, _}, {{0x49a43c0, 0xc000da68c0}, {0x41d1110, 	0x5}, {0x0, ...}, ...}, ...)
		/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfgen/generate_schema.go:251 +0x347
iwahbe added a commit to pulumi/pulumi-go-provider that referenced this pull request Nov 13, 2025
It looks like `GetSchema` was abandon, there weren't any tests for it
and it was completely broken with `infer`. See
pulumiverse/pulumi-talos#195 for an example:

	panic: interface conversion: interface {} is nil, not provider.RunInfo

	goroutine 1 [running]:
	github.com/pulumi/pulumi-go-provider.GetRunInfo(...)

/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:607

github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).generateSchema(_,
{_, _})

/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:289
+0x9f0

github.com/pulumi/pulumi-go-provider/middleware/schema.(*state).GetSchema(0xc000ddaea0,
{0x494e508, 0xc0012ee370}, {0xc0008e7c70?})

/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/schema/schema.go:191
+0x11b

github.com/pulumi/pulumi-go-provider/middleware/cancel.Wrap.setCancel2[...].func7({0x0?})

/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/middleware/cancel/cancel.go:134
+0xa2
github.com/pulumi/pulumi-go-provider.GetSchema({_, _}, {_, _}, {_, _},
{0xc000ddc810, 0x0, 0xc000dbc240, 0xc000ddc840, ...})

/home/runner/go/pkg/mod/github.com/pulumi/[email protected]/provider.go:557
+0x191

github.com/pulumiverse/pulumi-talos/provider/native.(*Provider).GetSpec(_,
{_, _}, {_, _}, {_, _})

/home/runner/work/pulumi-talos/pulumi-talos/provider/native/provider.go:36
+0xf6

github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen.genPulumiSchema(_,
{_, _}, {_, _}, {{0x49a43c0, 0xc000da68c0}, {0x41d1110, 0x5}, {0x0,
...}, ...}, ...)

/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/[email protected]/pkg/tfgen/generate_schema.go:251
+0x347
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

Successfully merging this pull request may close these issues.

3 participants