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

x/tools/gopls/internal: OpenFile failures on js/wasm with new 1.24.0 toolchain upgrade of Go 1.23 #71883

Open
gopherbot opened this issue Feb 21, 2025 · 11 comments
Assignees
Labels
gopls Issues related to the Go language server, gopls. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-JS Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@gopherbot
Copy link
Contributor

gopherbot commented Feb 21, 2025

#!watchflakes
default <- pkg ~ `golang.org/x/tools/gopls` && `call of Value.Call on undefined`

Issue created automatically to collect these failures.

Example (log):

=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdba0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736db00, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736db00, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7332700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2352761625/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7332700, 0x20c150)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49

watchflakes

@gopherbot gopherbot added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Feb 21, 2025
@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "golang.org/x/tools/gopls/internal/cache" && test == "TestCaseInsensitiveFilesystem"
2025-02-21 15:23 x_tools-go1.23-js-wasm tools@f95771e6 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdba0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736db00, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736db00, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7332700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2352761625/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7332700, 0x20c150)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 15:31 x_tools-go1.23-js-wasm tools@8b85edcc release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdba0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x735bb60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x735bb60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7332700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2905470421/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7332700, 0x20c150)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 18:18 x_tools-go1.23-js-wasm tools@23211ff4 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdba0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736db60, 0x5d}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736db60, 0x5d}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7332700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2003550856/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7332700, 0x20c150)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 18:26 x_tools-go1.23-js-wasm tools@f2beb33b release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdba0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736bb00, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736bb00, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7342700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo285859018/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7342700, 0x20c0d0)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 18:51 x_tools-go1.23-js-wasm tools@7347766e release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.02s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdba0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x735db60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x735db60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7332700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo3453834609/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7332700, 0x20c0d0)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 19:15 x_tools-go1.23-js-wasm tools@4e0c888d release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdba0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736bb60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736bb60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7342700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2533098912/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7342700, 0x20c0d0)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49

watchflakes

@gopherbot gopherbot added Tools This label describes issues relating to any tools in the x/tools repository. gopls Issues related to the Go language server, gopls. labels Feb 21, 2025
@gopherbot gopherbot added this to the Unreleased milestone Feb 21, 2025
@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "golang.org/x/tools/gopls/internal/cache" && test == "TestCaseInsensitiveFilesystem"
2025-02-21 21:16 x_tools-go1.23-js-wasm tools@1c52ccd3 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.02s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdd00, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736bb60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736bb60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7332700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo30943227/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7332700, 0x20c4f0)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 21:16 x_tools-go1.23-js-wasm tools@6e3d8bca release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdca0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736bb60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736bb60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7342700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2443135392/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7342700, 0x20c430)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "golang.org/x/tools/gopls/internal/cache" && test == "TestCaseInsensitiveFilesystem"
2025-02-21 21:47 x_tools-go1.23-js-wasm tools@3d7c2e28 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdca0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736db60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736db60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7332700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2430739653/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7332700, 0x20c430)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49

watchflakes

@findleyr findleyr self-assigned this Feb 21, 2025
@findleyr
Copy link
Member

@golang/js I'm a bit out of my depth. These failures are only occurring on our 1.23 builder, which is special: gopls always updates its go.mod go version to the latest release of go (1.24, currently). However, we keep the N-1 builders to verify that gopls still integrates with the ambient go version.

So in this case, the gopls integration tests are probably the only case where the test binary is built with (effectively) GOTOOLCHAIN=go1.24.0, and opening files seems to be broken in this configuration.

@findleyr findleyr changed the title x/tools/gopls/internal/cache: TestCaseInsensitiveFilesystem failures [consistent failure] x/tools/gopls/internal: OpenFile failures on js/wasm with new 1.24.0 toolchain upgrade of Go 1.23 Feb 21, 2025
@findleyr findleyr marked this as a duplicate of #71884 Feb 21, 2025
@findleyr findleyr marked this as a duplicate of #71885 Feb 21, 2025
@findleyr findleyr added the OS-JS label Feb 21, 2025
@johanbrandhorst
Copy link
Member

Could this be an interaction between the GOTOOLCHAIN and the move of the wasm/js runtime files from GOROOT/misc/wasm to GOROOT/lib/wasm? Just thinking what else could be causing this, this port is pretty much unchanged in 1.24.

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg ~ `golang.org/x/tools/gopls` && `call of Value.Call on undefined`
2025-02-21 22:37 x_tools-go1.23-js-wasm tools@5299dcb7 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdca0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736bb60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736bb60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7342700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo499320524/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7342700, 0x20c430)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 22:37 x_tools-go1.23-js-wasm tools@5299dcb7 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cmd.TestWorkspaceSymbol (log)
=== RUN   TestWorkspaceSymbol
=== PAUSE TestWorkspaceSymbol
=== CONT  TestWorkspaceSymbol
--- FAIL: TestWorkspaceSymbol (0.02s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 114 [running]:
testing.tRunner.func1.2({0x14c6e0, 0x1b31e00})
...
os.WriteFile({0x1b406e0, 0x49}, {0x1acc12e, 0x1c, 0x52}, 0x1b6)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cmd_test.writeTree(0x7b58380, {0x34d021, 0x57})
	/home/swarming/.swarming/w/ir/x/w/targetrepo499320524/gopls/internal/cmd/integration_test.go:1115 +0x1f
golang.org/x/tools/gopls/internal/cmd_test.TestWorkspaceSymbol(0x7b58380)
	/home/swarming/.swarming/w/ir/x/w/targetrepo499320524/gopls/internal/cmd/integration_test.go:1049 +0x3
testing.tRunner(0x7b58380, 0x473ee8)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 22:37 x_tools-go1.23-js-wasm tools@5299dcb7 release-branch.go1.23@22fdd35c x/tools/gopls/internal/lsprpc.TestDebugInfoLifecycle (log)
=== RUN   TestDebugInfoLifecycle

--- FAIL: TestDebugInfoLifecycle (0.00s)
panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 122 [running]:
testing.tRunner.func1.2({0x151fc0, 0x19f0180})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
golang.org/x/tools/gopls/internal/test/integration/fake.NewWorkdir({0x1b0d700, 0x3f}, 0x18724b0)
	/home/swarming/.swarming/w/ir/x/w/targetrepo499320524/gopls/internal/test/integration/fake/workdir.go:111 +0xc
golang.org/x/tools/gopls/internal/test/integration/fake.NewSandbox(0x7b3ee40)
	/home/swarming/.swarming/w/ir/x/w/targetrepo499320524/gopls/internal/test/integration/fake/sandbox.go:141 +0x50
golang.org/x/tools/gopls/internal/lsprpc.TestDebugInfoLifecycle(0x186c1c0)
	/home/swarming/.swarming/w/ir/x/w/targetrepo499320524/gopls/internal/lsprpc/lsprpc_test.go:200 +0x3
testing.tRunner(0x186c1c0, 0x460b28)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49

watchflakes

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg ~ `golang.org/x/tools/gopls` && `call of Value.Call on undefined`
2025-02-21 23:41 x_tools-go1.23-js-wasm tools@274b2375 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.02s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdca0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736db60, 0x5e}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736db60, 0x5e}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7342700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo388186949/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7342700, 0x20c430)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 23:41 x_tools-go1.23-js-wasm tools@274b2375 release-branch.go1.23@22fdd35c x/tools/gopls/internal/cmd.TestWorkspaceSymbol (log)
=== RUN   TestWorkspaceSymbol
=== PAUSE TestWorkspaceSymbol
=== CONT  TestWorkspaceSymbol
--- FAIL: TestWorkspaceSymbol (0.02s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 114 [running]:
testing.tRunner.func1.2({0x14c720, 0x1b31e00})
...
os.WriteFile({0x1b406e0, 0x4a}, {0x1acc12e, 0x1c, 0x52}, 0x1b6)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cmd_test.writeTree(0x7b58380, {0x34d160, 0x57})
	/home/swarming/.swarming/w/ir/x/w/targetrepo388186949/gopls/internal/cmd/integration_test.go:1137 +0x1f
golang.org/x/tools/gopls/internal/cmd_test.TestWorkspaceSymbol(0x7b58380)
	/home/swarming/.swarming/w/ir/x/w/targetrepo388186949/gopls/internal/cmd/integration_test.go:1071 +0x3
testing.tRunner(0x7b58380, 0x474068)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 23:41 x_tools-go1.23-js-wasm tools@274b2375 release-branch.go1.23@22fdd35c x/tools/gopls/internal/lsprpc.TestDebugInfoLifecycle (log)
=== RUN   TestDebugInfoLifecycle

--- FAIL: TestDebugInfoLifecycle (0.00s)
panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 122 [running]:
testing.tRunner.func1.2({0x151fc0, 0x19f0180})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
golang.org/x/tools/gopls/internal/test/integration/fake.NewWorkdir({0x1b0d740, 0x3e}, 0x18724b0)
	/home/swarming/.swarming/w/ir/x/w/targetrepo388186949/gopls/internal/test/integration/fake/workdir.go:111 +0xc
golang.org/x/tools/gopls/internal/test/integration/fake.NewSandbox(0x7b3ee40)
	/home/swarming/.swarming/w/ir/x/w/targetrepo388186949/gopls/internal/test/integration/fake/sandbox.go:141 +0x50
golang.org/x/tools/gopls/internal/lsprpc.TestDebugInfoLifecycle(0x186c1c0)
	/home/swarming/.swarming/w/ir/x/w/targetrepo388186949/gopls/internal/lsprpc/lsprpc_test.go:200 +0x3
testing.tRunner(0x186c1c0, 0x460b28)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49

watchflakes

@Zxilly
Copy link
Member

Zxilly commented Feb 22, 2025

Is this related to #71758 ?

@Zxilly
Copy link
Member

Zxilly commented Feb 22, 2025

I got it, the regression was caused by https://go-review.googlesource.com/c/go/+/595797 . Maybe the wasm_exec.js used by the test runner was not updated accordingly? I'm not quite sure what wasm runner Watchflakes uses.

@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg ~ `golang.org/x/tools/gopls` && `call of Value.Call on undefined`
2025-02-21 23:41 x_tools-go1.23-js-wasm tools@274b2375 release-branch.go1.23@2aaa3889 x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem (log)
=== RUN   TestCaseInsensitiveFilesystem
--- FAIL: TestCaseInsensitiveFilesystem (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 1573 [running]:
testing.tRunner.func1.2({0xbdca0, 0x12d8780})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
os.OpenFile({0x736bb60, 0x5d}, 0x241, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:392 +0x3
os.WriteFile({0x736bb60, 0x5d}, {0x72efdbc, 0x2, 0x2}, 0x1ff)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cache.TestCaseInsensitiveFilesystem(0x7342700)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2111013355/gopls/internal/cache/view_test.go:22 +0x13
testing.tRunner(0x7342700, 0x20c430)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 23:41 x_tools-go1.23-js-wasm tools@274b2375 release-branch.go1.23@2aaa3889 x/tools/gopls/internal/cmd.TestWorkspaceSymbol (log)
=== RUN   TestWorkspaceSymbol
=== PAUSE TestWorkspaceSymbol
=== CONT  TestWorkspaceSymbol
--- FAIL: TestWorkspaceSymbol (0.01s)
panic: syscall/js: call of Value.Call on undefined
	panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 114 [running]:
testing.tRunner.func1.2({0x14c720, 0x1b31e00})
...
os.WriteFile({0x1b406e0, 0x4a}, {0x1acc12e, 0x1c, 0x52}, 0x1b6)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/os/file.go:850 +0x2
golang.org/x/tools/gopls/internal/cmd_test.writeTree(0x7b58380, {0x34d160, 0x57})
	/home/swarming/.swarming/w/ir/x/w/targetrepo2111013355/gopls/internal/cmd/integration_test.go:1137 +0x1f
golang.org/x/tools/gopls/internal/cmd_test.TestWorkspaceSymbol(0x7b58380)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2111013355/gopls/internal/cmd/integration_test.go:1071 +0x3
testing.tRunner(0x7b58380, 0x474068)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49
2025-02-21 23:41 x_tools-go1.23-js-wasm tools@274b2375 release-branch.go1.23@2aaa3889 x/tools/gopls/internal/lsprpc.TestDebugInfoLifecycle (log)
=== RUN   TestDebugInfoLifecycle

--- FAIL: TestDebugInfoLifecycle (0.09s)
panic: syscall/js: call of Value.Call on undefined [recovered]
	panic: syscall/js: call of Value.Call on undefined

goroutine 122 [running]:
testing.tRunner.func1.2({0x151fc0, 0x19f0180})
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1734 +0x1e
testing.tRunner.func1()
...
golang.org/x/tools/gopls/internal/test/integration/fake.NewWorkdir({0x1b0d700, 0x3f}, 0x18724b0)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2111013355/gopls/internal/test/integration/fake/workdir.go:111 +0xc
golang.org/x/tools/gopls/internal/test/integration/fake.NewSandbox(0x7b3ee40)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2111013355/gopls/internal/test/integration/fake/sandbox.go:141 +0x50
golang.org/x/tools/gopls/internal/lsprpc.TestDebugInfoLifecycle(0x186c1c0)
	/home/swarming/.swarming/w/ir/x/w/targetrepo2111013355/gopls/internal/lsprpc/lsprpc_test.go:200 +0x3
testing.tRunner(0x186c1c0, 0x460b28)
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1792 +0x12
created by testing.(*T).Run in goroutine 1
	/home/swarming/.swarming/w/ir/x/w/gopath/pkg/mod/golang.org/[email protected]/src/testing/testing.go:1851 +0x49

watchflakes

@dmitshur
Copy link
Contributor

dmitshur commented Feb 22, 2025

Yeah, this is indeed related to the new toolchain behavior introduced in Go 1.21, and the wasm builders not yet being updated to handle it. We just haven't really noticed it until now.

I filed issue #71902 with the long term fix for the builders. Unfortunately, it might work only after 1.24, and the builder running into this is a 1.23 one. It should be possible to skip the affected tests on js/wasm whenever GO_BUILDER_NAME contains "-go1.23-" as a workaround—perhaps that's a reasonable path forward here given the options we have.

@dmitshur dmitshur moved this to Active in Test Flakes Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gopls Issues related to the Go language server, gopls. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-JS Tools This label describes issues relating to any tools in the x/tools repository.
Projects
Status: Active
Development

No branches or pull requests

5 participants