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
x/tools/gopls: panic applying critical error to empty files #54395
Comments
Hi, this looks like a new crash introduced in the v0.9.2 release. Could you share any more information about your workspace? Do you have a go.work file? How many go.mod files do you have? |
We've got two crash reports of this with gopls@v0.9.2, though this particular bug has existed for a while. I suspect that the increased likelihood of critical errors (due to detection of more critical workspace errors) has led to this crash. I have a repro and a fix, so I'll do a v0.9.3 release, hopefully today. |
Change https://go.dev/cl/422894 mentions this issue: |
Change https://go.dev/cl/422895 mentions this issue: |
Reopening for visibility, until this is released. |
… critical errors in go files This avoids the panic reported in golang/go#54395. Also add-back the replace directive in gopls/go.mod, so that tests pass. Updates golang/go#54395 Change-Id: Ief35985a503d3cc13971499dc6f4e9c1d1d63ea3 Reviewed-on: https://go-review.googlesource.com/c/tools/+/422894 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Suzy Mueller <suzmue@golang.org> gopls-CI: kokoro <noreply+kokoro@google.com> Run-TryBot: Robert Findley <rfindley@google.com> (cherry picked from commit 3807419) Reviewed-on: https://go-review.googlesource.com/c/tools/+/422895
This is fixed in the newly release gopls@v0.9.3. |
gopls v0.9.3 Move fast and fix things... it appears that v0.9.2 exposed a latent crasher in gopls (golang/go#54395). This crash occurs when a new workspace is incorrectly configured, and so is likely to be rather confusing for new users. On that basis, the fix warranted a patch release. As always, thank you for filing issues! gopls v0.9.2 This release contains many bug fixes, particularly related to problems that would require restarting gopls. Note about network usage: among these fixes was a change to allow network usage when reloading the workspace. Reloading occurs when a go.mod, go.sum, or go.work file changes on disk. In the past, gopls would only allow network during the first workspace load. This resulted in confusing behavior when, for example, a new dependency is added to a go.mod file and gopls could not load it, but loading succeeded on restart.
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.2 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li>See full diff in <a href="https://github.com/golang/tools/compare/v0.9.2...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.2&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.2 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li>See full diff in <a href="https://github.com/golang/tools/compare/v0.9.2...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.2&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.1 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> <h2>gopls/v0.9.2</h2> <p>This release contains many bug fixes, particularly related to problems that would require restarting gopls.</p> <p><strong>Note about network usage</strong>: among these fixes was a change to allow network usage when reloading the workspace. Reloading occurs when a <code>go.mod</code>, <code>go.sum</code>, or <code>go.work</code> file changes on disk. In the past, gopls would only allow network during the first workspace load. This resulted in confusing behavior when, for example, a new dependency is added to a <code>go.mod</code> file and gopls could not load it, but loading succeeded on restart. See <a href="https://go.dev/issues/54069">#54069</a> for more details.</p> <h2>Configuration changes</h2> <h3>directoryFilters at arbitrary depth</h3> <p>The <a href="https://github.com/golang/tools/blob/master/gopls/doc/settings.md#directoryfilters-string"><code>"directoryFilters"</code></a> setting now supports excluding directories at arbitrary depth, using the <code>**</code> operator. (note that for v0.9.2, the default value for this setting is still <code>["-node_modules]"</code>. In the next release, this will change to <code>["-**/node_modules"]</code>).</p> <h2>Bug fixes and Performance improvements...</h2> <p>This release contains the following notable bug fixes / performance improvements:</p> <ul> <li><strong>Additional change optimization</strong> - Following up on the work to optimize change processing from the <a href="https://github.com/golang/tools/releases/tag/gopls%2Fv0.9.0">v0.9.0 release</a>, this release contains additional optimizations that result in around 50% faster change processing (measured via edits in the Kubernetes repo).</li> <li><strong>Fix for a long-standing memory leak</strong> - <a href="https://go.dev/issues/53780">#53780</a> fixed a long-standing bug that caused gopls to hold on to its initial state, gradually leaking memory as state changed during the editing session.</li> <li><strong>Fewer restarts</strong> - This release contains many fixes for cache-invalidation bugs that would cause gopls to get confused and require restarting. Additionally, see the note at top about enabling the network when reloading the workspace. We believe we are close to our goal that restarting gopls should never be required to fix workspace errors. If you encounter such a bug, please file an issue!</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/274?closed=1">gopls/v0.9.2 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/antoineco"><code>@antoineco</code></a>, <a href="https://github.com/dle8"><code>@dle8</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/mssdvd"><code>@mssdvd</code></a>, <a href="https://github.com/pjweinbgo"><code>@pjweinbgo</code></a>, <a href="https://github.com/rentziass"><code>@rentziass</code></a>, and <a href="https://github.com/suzmue"><code>@suzmue</code></a>!</p> <h2>What's next</h2> <p>The next planned gopls release is <a href="https://github.com/golang/go/milestone/278">v0.10.0</a>. We’re excited about features and improvements on the horizon, for example:</p> <ul> <li>Package renaming (<a href="https://go.dev/issues/41567">#41567</a>)</li> <li>More accurate static-analysis (<a href="https://go.dev/issues/48738">#48738</a>)</li> <li>Improved support for the new 1.19 doc comment format (<a href="https://go.dev/issues/54260">#54260</a>)</li> <li>Making it easier to work with <code>go.work</code> files (many issues, for example <a href="https://go.dev/issues/53880">#53880</a> or <a href="https://go.dev/issues/54261">#54261</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li><a href="https://github.com/golang/tools/commit/96844c3594b1a5b71b689f4d38697c012e093011"><code>96844c3</code></a> cmd/{guru,callgraph}: stop using go/pointer</li> <li><a href="https://github.com/golang/tools/commit/cd694d8db4f10068e4fe38fe7aa1aa8bda65b88b"><code>cd694d8</code></a> go/packages: include "unsafe".GoFiles=["unsafe.go"]</li> <li><a href="https://github.com/golang/tools/commit/33c741de78259c8c12df7103f7a6caf8dd9c6181"><code>33c741d</code></a> gopls/internal/lsp: add min/max builtin</li> <li><a href="https://github.com/golang/tools/commit/933c7ccb15451459ca4fe53c041a4108f4859d91"><code>933c7cc</code></a> internal/lsp/source: use exact match in import highlighting</li> <li><a href="https://github.com/golang/tools/commit/5974258e689a4f8a93448a0d181737afa4506e3f"><code>5974258</code></a> gopls/internal/lsp: clear vuln diagnostics on config changes</li> <li><a href="https://github.com/golang/tools/commit/f3faea1982c3b87f69b407fc0add0e10c591b9dc"><code>f3faea1</code></a> go/packages: pass -pgo=off on go1.21 and later</li> <li><a href="https://github.com/golang/tools/commit/5f74ec7da5f5b84a3d05750000a35e486c0edece"><code>5f74ec7</code></a> internal/lsp/debug: add links to profiles and GC</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.9.1...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.1&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.2 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li>See full diff in <a href="https://github.com/golang/tools/compare/v0.9.2...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.2&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1091) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.1 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> <h2>gopls/v0.9.2</h2> <p>This release contains many bug fixes, particularly related to problems that would require restarting gopls.</p> <p><strong>Note about network usage</strong>: among these fixes was a change to allow network usage when reloading the workspace. Reloading occurs when a <code>go.mod</code>, <code>go.sum</code>, or <code>go.work</code> file changes on disk. In the past, gopls would only allow network during the first workspace load. This resulted in confusing behavior when, for example, a new dependency is added to a <code>go.mod</code> file and gopls could not load it, but loading succeeded on restart. See <a href="https://go.dev/issues/54069">#54069</a> for more details.</p> <h2>Configuration changes</h2> <h3>directoryFilters at arbitrary depth</h3> <p>The <a href="https://github.com/golang/tools/blob/master/gopls/doc/settings.md#directoryfilters-string"><code>"directoryFilters"</code></a> setting now supports excluding directories at arbitrary depth, using the <code>**</code> operator. (note that for v0.9.2, the default value for this setting is still <code>["-node_modules]"</code>. In the next release, this will change to <code>["-**/node_modules"]</code>).</p> <h2>Bug fixes and Performance improvements...</h2> <p>This release contains the following notable bug fixes / performance improvements:</p> <ul> <li><strong>Additional change optimization</strong> - Following up on the work to optimize change processing from the <a href="https://github.com/golang/tools/releases/tag/gopls%2Fv0.9.0">v0.9.0 release</a>, this release contains additional optimizations that result in around 50% faster change processing (measured via edits in the Kubernetes repo).</li> <li><strong>Fix for a long-standing memory leak</strong> - <a href="https://go.dev/issues/53780">#53780</a> fixed a long-standing bug that caused gopls to hold on to its initial state, gradually leaking memory as state changed during the editing session.</li> <li><strong>Fewer restarts</strong> - This release contains many fixes for cache-invalidation bugs that would cause gopls to get confused and require restarting. Additionally, see the note at top about enabling the network when reloading the workspace. We believe we are close to our goal that restarting gopls should never be required to fix workspace errors. If you encounter such a bug, please file an issue!</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/274?closed=1">gopls/v0.9.2 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/antoineco"><code>@antoineco</code></a>, <a href="https://github.com/dle8"><code>@dle8</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/mssdvd"><code>@mssdvd</code></a>, <a href="https://github.com/pjweinbgo"><code>@pjweinbgo</code></a>, <a href="https://github.com/rentziass"><code>@rentziass</code></a>, and <a href="https://github.com/suzmue"><code>@suzmue</code></a>!</p> <h2>What's next</h2> <p>The next planned gopls release is <a href="https://github.com/golang/go/milestone/278">v0.10.0</a>. We’re excited about features and improvements on the horizon, for example:</p> <ul> <li>Package renaming (<a href="https://go.dev/issues/41567">#41567</a>)</li> <li>More accurate static-analysis (<a href="https://go.dev/issues/48738">#48738</a>)</li> <li>Improved support for the new 1.19 doc comment format (<a href="https://go.dev/issues/54260">#54260</a>)</li> <li>Making it easier to work with <code>go.work</code> files (many issues, for example <a href="https://go.dev/issues/53880">#53880</a> or <a href="https://go.dev/issues/54261">#54261</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li><a href="https://github.com/golang/tools/commit/96844c3594b1a5b71b689f4d38697c012e093011"><code>96844c3</code></a> cmd/{guru,callgraph}: stop using go/pointer</li> <li><a href="https://github.com/golang/tools/commit/cd694d8db4f10068e4fe38fe7aa1aa8bda65b88b"><code>cd694d8</code></a> go/packages: include "unsafe".GoFiles=["unsafe.go"]</li> <li><a href="https://github.com/golang/tools/commit/33c741de78259c8c12df7103f7a6caf8dd9c6181"><code>33c741d</code></a> gopls/internal/lsp: add min/max builtin</li> <li><a href="https://github.com/golang/tools/commit/933c7ccb15451459ca4fe53c041a4108f4859d91"><code>933c7cc</code></a> internal/lsp/source: use exact match in import highlighting</li> <li><a href="https://github.com/golang/tools/commit/5974258e689a4f8a93448a0d181737afa4506e3f"><code>5974258</code></a> gopls/internal/lsp: clear vuln diagnostics on config changes</li> <li><a href="https://github.com/golang/tools/commit/f3faea1982c3b87f69b407fc0add0e10c591b9dc"><code>f3faea1</code></a> go/packages: pass -pgo=off on go1.21 and later</li> <li><a href="https://github.com/golang/tools/commit/5f74ec7da5f5b84a3d05750000a35e486c0edece"><code>5f74ec7</code></a> internal/lsp/debug: add links to profiles and GC</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.9.1...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.1&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…/@jsii/go-runtime-test/project (#4128) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.2 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li>See full diff in <a href="https://github.com/golang/tools/compare/v0.9.2...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.2&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
…/@jsii/go-runtime/jsii-runtime-go (#4127) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.1 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> <h2>gopls/v0.9.2</h2> <p>This release contains many bug fixes, particularly related to problems that would require restarting gopls.</p> <p><strong>Note about network usage</strong>: among these fixes was a change to allow network usage when reloading the workspace. Reloading occurs when a <code>go.mod</code>, <code>go.sum</code>, or <code>go.work</code> file changes on disk. In the past, gopls would only allow network during the first workspace load. This resulted in confusing behavior when, for example, a new dependency is added to a <code>go.mod</code> file and gopls could not load it, but loading succeeded on restart. See <a href="https://go.dev/issues/54069">#54069</a> for more details.</p> <h2>Configuration changes</h2> <h3>directoryFilters at arbitrary depth</h3> <p>The <a href="https://github.com/golang/tools/blob/master/gopls/doc/settings.md#directoryfilters-string"><code>"directoryFilters"</code></a> setting now supports excluding directories at arbitrary depth, using the <code>**</code> operator. (note that for v0.9.2, the default value for this setting is still <code>["-node_modules]"</code>. In the next release, this will change to <code>["-**/node_modules"]</code>).</p> <h2>Bug fixes and Performance improvements...</h2> <p>This release contains the following notable bug fixes / performance improvements:</p> <ul> <li><strong>Additional change optimization</strong> - Following up on the work to optimize change processing from the <a href="https://github.com/golang/tools/releases/tag/gopls%2Fv0.9.0">v0.9.0 release</a>, this release contains additional optimizations that result in around 50% faster change processing (measured via edits in the Kubernetes repo).</li> <li><strong>Fix for a long-standing memory leak</strong> - <a href="https://go.dev/issues/53780">#53780</a> fixed a long-standing bug that caused gopls to hold on to its initial state, gradually leaking memory as state changed during the editing session.</li> <li><strong>Fewer restarts</strong> - This release contains many fixes for cache-invalidation bugs that would cause gopls to get confused and require restarting. Additionally, see the note at top about enabling the network when reloading the workspace. We believe we are close to our goal that restarting gopls should never be required to fix workspace errors. If you encounter such a bug, please file an issue!</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/274?closed=1">gopls/v0.9.2 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/antoineco"><code>@antoineco</code></a>, <a href="https://github.com/dle8"><code>@dle8</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/mssdvd"><code>@mssdvd</code></a>, <a href="https://github.com/pjweinbgo"><code>@pjweinbgo</code></a>, <a href="https://github.com/rentziass"><code>@rentziass</code></a>, and <a href="https://github.com/suzmue"><code>@suzmue</code></a>!</p> <h2>What's next</h2> <p>The next planned gopls release is <a href="https://github.com/golang/go/milestone/278">v0.10.0</a>. We’re excited about features and improvements on the horizon, for example:</p> <ul> <li>Package renaming (<a href="https://go.dev/issues/41567">#41567</a>)</li> <li>More accurate static-analysis (<a href="https://go.dev/issues/48738">#48738</a>)</li> <li>Improved support for the new 1.19 doc comment format (<a href="https://go.dev/issues/54260">#54260</a>)</li> <li>Making it easier to work with <code>go.work</code> files (many issues, for example <a href="https://go.dev/issues/53880">#53880</a> or <a href="https://go.dev/issues/54261">#54261</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li><a href="https://github.com/golang/tools/commit/96844c3594b1a5b71b689f4d38697c012e093011"><code>96844c3</code></a> cmd/{guru,callgraph}: stop using go/pointer</li> <li><a href="https://github.com/golang/tools/commit/cd694d8db4f10068e4fe38fe7aa1aa8bda65b88b"><code>cd694d8</code></a> go/packages: include "unsafe".GoFiles=["unsafe.go"]</li> <li><a href="https://github.com/golang/tools/commit/33c741de78259c8c12df7103f7a6caf8dd9c6181"><code>33c741d</code></a> gopls/internal/lsp: add min/max builtin</li> <li><a href="https://github.com/golang/tools/commit/933c7ccb15451459ca4fe53c041a4108f4859d91"><code>933c7cc</code></a> internal/lsp/source: use exact match in import highlighting</li> <li><a href="https://github.com/golang/tools/commit/5974258e689a4f8a93448a0d181737afa4506e3f"><code>5974258</code></a> gopls/internal/lsp: clear vuln diagnostics on config changes</li> <li><a href="https://github.com/golang/tools/commit/f3faea1982c3b87f69b407fc0add0e10c591b9dc"><code>f3faea1</code></a> go/packages: pass -pgo=off on go1.21 and later</li> <li><a href="https://github.com/golang/tools/commit/5f74ec7da5f5b84a3d05750000a35e486c0edece"><code>5f74ec7</code></a> internal/lsp/debug: add links to profiles and GC</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.9.1...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.1&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.1 to 0.9.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.3</h2> <p><em>Move fast and fix things...</em><code>golang/go#54395</code></p> <p>As always, thank you for filing issues!</p> <h2>gopls/v0.9.2</h2> <p>This release contains many bug fixes, particularly related to problems that would require restarting gopls.</p> <p><strong>Note about network usage</strong>: among these fixes was a change to allow network usage when reloading the workspace. Reloading occurs when a <code>go.mod</code>, <code>go.sum</code>, or <code>go.work</code> file changes on disk. In the past, gopls would only allow network during the first workspace load. This resulted in confusing behavior when, for example, a new dependency is added to a <code>go.mod</code> file and gopls could not load it, but loading succeeded on restart. See <a href="https://go.dev/issues/54069">#54069</a> for more details.</p> <h2>Configuration changes</h2> <h3>directoryFilters at arbitrary depth</h3> <p>The <a href="https://github.com/golang/tools/blob/master/gopls/doc/settings.md#directoryfilters-string"><code>"directoryFilters"</code></a> setting now supports excluding directories at arbitrary depth, using the <code>**</code> operator. (note that for v0.9.2, the default value for this setting is still <code>["-node_modules]"</code>. In the next release, this will change to <code>["-**/node_modules"]</code>).</p> <h2>Bug fixes and Performance improvements...</h2> <p>This release contains the following notable bug fixes / performance improvements:</p> <ul> <li><strong>Additional change optimization</strong> - Following up on the work to optimize change processing from the <a href="https://github.com/golang/tools/releases/tag/gopls%2Fv0.9.0">v0.9.0 release</a>, this release contains additional optimizations that result in around 50% faster change processing (measured via edits in the Kubernetes repo).</li> <li><strong>Fix for a long-standing memory leak</strong> - <a href="https://go.dev/issues/53780">#53780</a> fixed a long-standing bug that caused gopls to hold on to its initial state, gradually leaking memory as state changed during the editing session.</li> <li><strong>Fewer restarts</strong> - This release contains many fixes for cache-invalidation bugs that would cause gopls to get confused and require restarting. Additionally, see the note at top about enabling the network when reloading the workspace. We believe we are close to our goal that restarting gopls should never be required to fix workspace errors. If you encounter such a bug, please file an issue!</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/274?closed=1">gopls/v0.9.2 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/antoineco"><code>@antoineco</code></a>, <a href="https://github.com/dle8"><code>@dle8</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/mssdvd"><code>@mssdvd</code></a>, <a href="https://github.com/pjweinbgo"><code>@pjweinbgo</code></a>, <a href="https://github.com/rentziass"><code>@rentziass</code></a>, and <a href="https://github.com/suzmue"><code>@suzmue</code></a>!</p> <h2>What's next</h2> <p>The next planned gopls release is <a href="https://github.com/golang/go/milestone/278">v0.10.0</a>. We’re excited about features and improvements on the horizon, for example:</p> <ul> <li>Package renaming (<a href="https://go.dev/issues/41567">#41567</a>)</li> <li>More accurate static-analysis (<a href="https://go.dev/issues/48738">#48738</a>)</li> <li>Improved support for the new 1.19 doc comment format (<a href="https://go.dev/issues/54260">#54260</a>)</li> <li>Making it easier to work with <code>go.work</code> files (many issues, for example <a href="https://go.dev/issues/53880">#53880</a> or <a href="https://go.dev/issues/54261">#54261</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/0dda7d614e545bb93966bb1410269b3cd1e65e1d"><code>0dda7d6</code></a> go/pointer: remove replace directive</li> <li><a href="https://github.com/golang/tools/commit/98f1b4dee82ca3ded542b3c37a62f58f0eb744b7"><code>98f1b4d</code></a> gopls/internal/lsp/cache: check number of orphaned files after filtering</li> <li><a href="https://github.com/golang/tools/commit/a260315e300ac46cc74b461bb418e4a800ee55bf"><code>a260315</code></a> go/pointer: create submodule</li> <li><a href="https://github.com/golang/tools/commit/96844c3594b1a5b71b689f4d38697c012e093011"><code>96844c3</code></a> cmd/{guru,callgraph}: stop using go/pointer</li> <li><a href="https://github.com/golang/tools/commit/cd694d8db4f10068e4fe38fe7aa1aa8bda65b88b"><code>cd694d8</code></a> go/packages: include "unsafe".GoFiles=["unsafe.go"]</li> <li><a href="https://github.com/golang/tools/commit/33c741de78259c8c12df7103f7a6caf8dd9c6181"><code>33c741d</code></a> gopls/internal/lsp: add min/max builtin</li> <li><a href="https://github.com/golang/tools/commit/933c7ccb15451459ca4fe53c041a4108f4859d91"><code>933c7cc</code></a> internal/lsp/source: use exact match in import highlighting</li> <li><a href="https://github.com/golang/tools/commit/5974258e689a4f8a93448a0d181737afa4506e3f"><code>5974258</code></a> gopls/internal/lsp: clear vuln diagnostics on config changes</li> <li><a href="https://github.com/golang/tools/commit/f3faea1982c3b87f69b407fc0add0e10c591b9dc"><code>f3faea1</code></a> go/packages: pass -pgo=off on go1.21 and later</li> <li><a href="https://github.com/golang/tools/commit/5f74ec7da5f5b84a3d05750000a35e486c0edece"><code>5f74ec7</code></a> internal/lsp/debug: add links to profiles and GC</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.9.1...v0.9.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.1&new-version=0.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Chris Roche <github@rodaine.com>
gopls version: v0.9.2 (go1.19)
gopls flags:
update flags: proxy
extension version: 0.35.1
go version: 1.19
environment: Visual Studio Code linux
initialization error: undefined
issue timestamp: Thu, 11 Aug 2022 12:37:21 GMT
restart history:
Thu, 11 Aug 2022 12:37:08 GMT: activation (enabled: true)
ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.
Describe what you observed.
OPTIONAL: If you would like to share more information, you can attach your complete gopls logs.
NOTE: THESE MAY CONTAIN SENSITIVE INFORMATION ABOUT YOUR CODEBASE.
DO NOT SHARE LOGS IF YOU ARE WORKING IN A PRIVATE REPOSITORY.
<OPTIONAL: ATTACH LOGS HERE>
The text was updated successfully, but these errors were encountered: