-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Nil pointer panic in sdk. #11727
Comments
Hi @rshade, this looks interesting because the expression |
What version of the CLI is in question? |
It's in the go sdk, not the cli. |
OK, what is the version of the SDK? The code snippet link is to a particular commit; I want to establish whether that is the code at the version used. |
The version is in the stack trace: |
So it is, I didn't notice that. I've edited the description so that it explicitly points at the code as at the version used (the line is the same -- @rshade if you deliberately used the SHA1 so it would show a preview, apologies, my change has lost that). |
11776: Make sure output state deps is only accessed under a lock r=t0yv0 a=t0yv0 <!--- Thanks so much for your contribution! If this is your first time contributing, please ensure that you have read the [CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md) documentation. --> # Description <!--- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. --> Related to #11727 though that might have possibly been fixed on master already, as the last known failing version is 3.43.1 Fixes # (issue) ## Checklist <!--- Please provide details if the checkbox below is to be left unchecked. --> - [ ] I have added tests that prove my fix is effective or that my feature works <!--- User-facing changes require a CHANGELOG entry. --> - [ ] I have run `make changelog` and committed the `changelog/pending/<file>` documenting my change <!-- If the change(s) in this PR is a modification of an existing call to the Pulumi Service, then the service should honor older versions of the CLI where this change would not exist. You must then bump the API version in /pkg/backend/httpstate/client/api.go, as well as add it to the service. --> - [ ] Yes, there are changes in this PR that warrants bumping the Pulumi Service API version <!-- `@Pulumi` employees: If yes, you must submit corresponding changes in the service repo. --> Co-authored-by: Anton Tayanovskyy <anton@pulumi.com>
The Pulumi Platform team took a deep dive on the issue yesterday and I want to summarize it in a quick update. The issue arises from a race leading to a torn slice being passed into mergeDependencies as the first argument ( Since v3.39.0 there was we had work done to pass the test suite under the race detector, which introduced locks around the code in question. It is our understanding that this issue should be fixed in version v3.46.1 and higher. We have confidence but not 100% certainty here that the issue is fixed because we failed to construct a repro case - a solid repro would definitely be highly appreciated! To mitigate any further issues, we introduced checks that detect memory corruption earlier and produce better panic stack traces in case it happens so that it is easier to reproduce the issue. This work is #11776 and #11779 |
Closing since we believe the issue has been fixed since v3.46.1. |
We are getting the following error, and it is panic'ing pulumi cli.
We believe it has to do with the following line:
https://github.com/pulumi/pulumi/blob/v3.39.0/sdk/go/pulumi/types.go#L212
The text was updated successfully, but these errors were encountered: