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

all: test failures with bad file number or exec format error on solaris-amd64-oraclerel #58782

Open
gopherbot opened this issue Feb 28, 2023 · 33 comments
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Solaris Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@gopherbot
Copy link

gopherbot commented Feb 28, 2023

#!watchflakes
post <- builder == "solaris-amd64-oraclerel" && (log ~ `bad file number` || log ~ `exec format error`)

Issue created automatically to collect these failures.

Example (log):

--- FAIL: TestDefinition (22.48s)
    integration_test.go:193: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<./a.go:3:6-7: defined here as func f()>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:56: internal error reading shared cache: RLock /opt/golang/.cache/gopls/18b62982/analysis/6b/6b316992556c8430def264891a46ec93579ccbc5189907222dcd2b789e667b3c: bad file number

        goroutine 2162 [running]:
        golang.org/x/tools/internal/bug.Report({0xc000048160, 0xaa}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:71 +0x468
        golang.org/x/tools/internal/bug.Errorf({0xf2a0f8?, 0x93ec461a8964f2de?}, {0xc002927c70?, 0x3c7b669e782bcd2d?, 0xee80be?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:56 +0x3f
        golang.org/x/tools/gopls/internal/lsp/cache.analyzeImpl({0x116c950?, 0xc003282190}, 0xc000cf2280, {0xc001d3c350, 0x2, 0x2}, {0xc0007b0790, 0xc})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/analysis.go:454 +0x774
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).analyze.func1({0x116c950?, 0xc003282190?}, {0xeda6a0?, 0xc000cf2280?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/analysis.go:339 +0x5a
        golang.org/x/tools/internal/memoize.(*Promise).run.func2.1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/memoize/memoize.go:187 +0xa9
        runtime/trace.WithRegion({0x116c950?, 0xc003282190?}, {0xc0024f4180, 0x14}, 0xc0005e4f90)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/runtime/trace/annotation.go:141 +0xe3
        golang.org/x/tools/internal/memoize.(*Promise).run.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/memoize/memoize.go:180 +0x145
        created by golang.org/x/tools/internal/memoize.(*Promise).run
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/memoize/memoize.go:179 +0x1ea
        >>)

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 28, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "golang.org/x/tools/gopls/internal/lsp/cmd/test" && test == "TestDefinition"
2023-02-27 20:01 solaris-amd64-oraclerel tools@b0fcf2a0 go@1362737f x/tools/gopls/internal/lsp/cmd/test.TestDefinition (log)
--- FAIL: TestDefinition (22.48s)
    integration_test.go:193: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<./a.go:3:6-7: defined here as func f()>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:56: internal error reading shared cache: RLock /opt/golang/.cache/gopls/18b62982/analysis/6b/6b316992556c8430def264891a46ec93579ccbc5189907222dcd2b789e667b3c: bad file number

        goroutine 2162 [running]:
        golang.org/x/tools/internal/bug.Report({0xc000048160, 0xaa}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:71 +0x468
        golang.org/x/tools/internal/bug.Errorf({0xf2a0f8?, 0x93ec461a8964f2de?}, {0xc002927c70?, 0x3c7b669e782bcd2d?, 0xee80be?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:56 +0x3f
        golang.org/x/tools/gopls/internal/lsp/cache.analyzeImpl({0x116c950?, 0xc003282190}, 0xc000cf2280, {0xc001d3c350, 0x2, 0x2}, {0xc0007b0790, 0xc})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/analysis.go:454 +0x774
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).analyze.func1({0x116c950?, 0xc003282190?}, {0xeda6a0?, 0xc000cf2280?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/analysis.go:339 +0x5a
        golang.org/x/tools/internal/memoize.(*Promise).run.func2.1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/memoize/memoize.go:187 +0xa9
        runtime/trace.WithRegion({0x116c950?, 0xc003282190?}, {0xc0024f4180, 0x14}, 0xc0005e4f90)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/runtime/trace/annotation.go:141 +0xe3
        golang.org/x/tools/internal/memoize.(*Promise).run.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/memoize/memoize.go:180 +0x145
        created by golang.org/x/tools/internal/memoize.(*Promise).run
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/memoize/memoize.go:179 +0x1ea
        >>)

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 28, 2023
@gopherbot gopherbot added this to the Unreleased milestone Feb 28, 2023
@findleyr
Copy link
Contributor

CC @adonovan

@findleyr
Copy link
Contributor

findleyr commented Mar 2, 2023

I think we need to make a decision about on which OS we are going to support the new filecache logic.

I'd rather we use an in-memory fallback than completely stop supporting several OS that have unreliable FS behavior.

@adonovan
Copy link
Member

adonovan commented Mar 2, 2023

I think we need to make a decision about on which OS we are going to support the new filecache logic.

I argue for supporting POSIX (aix darwin linux {free,open,net}bsd illumos solaris) and Windows, but not Plan9. That means we disable any test that flakes on those OSs.

What about Android and iOS? Does even a single person use gopls on those platforms?

I'd rather we use an in-memory fallback than completely stop supporting several OS that have unreliable FS behavior.

I think we can rely on POSIX and Windows for the operations gopls needs. netbsd has been a little flaky on the builders recently, but I can't tell yet whether that's a problem with the kernel or just our builder. Let's keep an eye out for it. Ditto solaris.

I'd really rather not make a memory-based fallback.

@hyangah
Copy link
Contributor

hyangah commented Mar 8, 2023

I wonder if it makes more sense to disable gopls testing completely from the platforms we don't think gopls would work well, and make it clear what platforms are supported in the user documentation. (So, no false promise). My complaint about the platform-based skipped tests is it's hard to know from the builder state whether the functionality is actually working or not.

If there are users who want to use gopls from such excluded platforms, we need to ask to open issues (or proposal) with support plan/active contribution.

@adonovan
Copy link
Member

I wonder if it makes more sense to disable gopls testing completely from the platforms we don't think gopls would work well, and make it clear what platforms are supported in the user documentation. (So, no false promise). My complaint about the platform-based skipped tests is it's hard to know from the builder state whether the functionality is actually working or not.

Yes, that sounds like the right way to do it.

I couldn't tell from a glance at at https://cs.opensource.google/go/x/build/+/master:cmd/coordinator/buildstatus.go;l=813?q=gopls&ss=go%2Fx%2Fbuild how the set of (os, arch, package) test combinations is computed. Perhaps someone who knows this code better could point me in the right direction.

@findleyr
Copy link
Contributor

CC @golang/release

I'm afraid you may need to update x/build/dashboard.BuildConfig.buildsRepo to specialize to module (not just repo).
https://cs.opensource.google/go/x/build/+/master:dashboard/builders.go;l=783;drc=c5b0bb2e56eceb3121e2c3e66185e97f704733d6

Perhaps someone on the release team knows a better way.

@bcmills
Copy link
Contributor

bcmills commented Mar 14, 2023

FWIW, this particular test failure is on solaris, which is a POSIX platform and probably ought to be supported.

The EBADF error from the RLock operation comes from fcntl, which is used on aix and solaris and no other platforms (the rest all support flock, which has a simpler API).

The Solaris documentation for fcntl says:

EBADF
The fildes argument is not a valid open file descriptor; or the cmd argument is F_SETLK, F_SETLK64, F_SETLKW, or F_SETLKW64, the type of lock, l_type, is a shared lock (F_RDLCK), and fildes is not a valid file descriptor open for reading; or the type of lock l_type is an exclusive lock (F_WRLCK) and fildes is not a valid file descriptor open for writing.

Since fcntl is used on only a couple of platforms, it is possible that this failure is exposing a bug in our use of it.

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-03-06 20:14 solaris-amd64-oraclerel tools@b72edd12 go@4a305be9 x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (11.95s)
    integration_test.go:490: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<2023/03/06 21:47:31 Error:2023/03/06 21:47:31 storing export data for math: Lock /opt/golang/.cache/gopls/4a243052/export/8d/8da63d17e89929b19e4cafc1feba1dff33fd8cd659c2da17cfeb787fc86c6f00: bad file number
        gopls: RLock /opt/golang/.cache/gopls/4a243052/export/aa/aafe5da2a89ea707ff749d5217c3db6b6f7ac8a5974a591c675c40711109ce83: bad file number
        >>)
    integration_test.go:491: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:492: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>
2023-03-13 18:43 solaris-amd64-oraclerel tools@243a9484 go@b852f395 x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (10.31s)
    integration_test.go:490: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<gopls: RLock /opt/golang/.cache/gopls/0d935b09/export/5c/5c19d490bd139935740bf392e86bbde5fc4f527c4689a1481a4fc93b522e0516: bad file number
        >>)
    integration_test.go:491: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:492: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>

watchflakes

@adonovan
Copy link
Member

I agree with @bcmills that the log proves this chain of calls:

lockedfile.Read
lockedfile.Open
lockedfile.OpenFile(RDONLY, 0)
openFile
filelock.RLock
lock (in filelock_fcntl.go)
setlkw (since the error is an RLock PathError with a message other than "inode for file changed")
syscall.FcntlFlock
libc_fcntl

It's not possible that f's finalizer is run during the the call into libc, as the setlkw call is followed by f.Name(), and also f was a key in the global inodes map.

But it's possible the syscall.Flock_t is getting garbage collected since the only reference to it is a uintptr passed to the syscall.

@bcmills
Copy link
Contributor

bcmills commented Mar 14, 2023

But it's possible the syscall.Flock_t is getting garbage collected since the only reference to it is a uintptr passed to the syscall.

syscall.FcntlFlock accepts the *Flock_t as a pointer, and only converts it to uintptr directly in the call to sysvicall6, which is implemented in assembly.

If I understand the discussion on #34684 correctly, the fact that sysvicall6 is implemented in assembly should cause the compiler and runtime to consider its uintptr arguments reachable for the duration of the call.

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-03-14 19:39 solaris-amd64-oraclerel tools@537c4aa6 go@fbf4c04f x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (9.65s)
    integration_test.go:490: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<gopls: RLock /opt/golang/.cache/gopls/13b3e2cd/export/07/07477a18c5bba2369a1c976e137c269813b882f46ff3017436a0bbd1cfbfcc4c: bad file number
        >>)
    integration_test.go:491: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:492: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>

watchflakes

@bcmills bcmills changed the title x/tools/gopls/internal/lsp/cmd/test: TestDefinition failures x/tools/gopls: test failures with bad file number on solaris-amd64-oraclerel Mar 14, 2023
@bcmills
Copy link
Contributor

bcmills commented Mar 14, 2023

If this were due to a bug in our use of FcntlFlock, I would expect the same failure mode to show up on the aix builder (which uses the same implementation). I don't see anything in gopls that specifically excludes that platform, so I'm more inclined to suspect a bug in either the Solaris filesystem or the Go standard library on the solaris platform.

(attn @golang/solaris)

@bcmills
Copy link
Contributor

bcmills commented Mar 14, 2023

On the other hand, it seems odd that we see this failure mode when testing x/tools/gopls but not cmd/go.

(Maybe the bug in the filesystem has to do with deleting a file concurrently with locking it? We almost never delete files in the Go module cache during tests.)

@suzmue suzmue modified the milestones: Unreleased, gopls/v0.12.0 Mar 16, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-03-16 15:43 solaris-amd64-oraclerel tools@6e5f4255 go@006b35c0 x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (9.77s)
    integration_test.go:490: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<gopls: RLock /opt/golang/.cache/gopls/fa8d3aab/export/da/da6f91af61aae44ebc294a2f70e6ee39e07fd7245959a8e872d6e832156c8ed1: bad file number
        >>)
    integration_test.go:491: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:492: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-03-16 15:43 solaris-amd64-oraclerel tools@6e5f4255 go@fa42da15 x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (13.16s)
    integration_test.go:490: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<gopls: RLock /opt/golang/.cache/gopls/7e80f41e/export/b2/b2aa9aca13567c4713d965eeb7be1ef33d79f2f034b0339067690f3953c63200: bad file number
        >>)
    integration_test.go:491: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:492: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-04-13 19:23 solaris-amd64-oraclerel tools@1b2d1bd5 go@abb86e6e x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (14.29s)
    integration_test.go:490: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/6ab03d20/typerefs/e5/e51d817d6b488e1578ce81938f00fc457225bef1217291c0cdab240ccddc7bba: bad file number

        goroutine 725 [running]:
        golang.org/x/tools/internal/bug.report({0xc0008f8630, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x445
        golang.org/x/tools/internal/bug.Reportf({0xf4a4b8?, 0x45fc008f9381ce78?}, {0xc00140d928?, 0xba7bdccd0c24abcd?, 0xf073ee?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x2c
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000419a60?, {0x11aa498?, 0xc000558100}, {0xc00003c760, 0x10}, 0xc0003f0c80?, {0xc000318c80, 0x8, 0xc7ebe0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0001fe2c0, {0x11aa498, 0xc000558100}, 0xc00028b3b0, {0xc000318c80, 0x8, 0x8})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000a9f3b0, {0x11aa498, 0xc000558100}, {0xc00003c760?, 0x10?}, 0xc00028b3b0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:491: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:492: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>

watchflakes

@adonovan
Copy link
Member

adonovan commented Apr 17, 2023

On the other hand, it seems odd that we see this failure mode when testing x/tools/gopls but not cmd/go.

(Maybe the bug in the filesystem has to do with deleting a file concurrently with locking it? We almost never delete files in the Go module cache during tests.)

I don't think the gopls tests are concurrently deleting and reading either. Deletion is only done by the filecache GC, and it deletes first based on age (= garbage produced by older executables) then, after a delay, based on space. In any case it's always the oldest files that are deleted. Space-based deletion may be more common after last week's change to the parameters, but I expect concurrent read/write and delete of the same file (or even directory) was extremely rare in our tests.

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-04-18 17:47 solaris-amd64-oraclerel tools@85d651af go@59c2d787 x/tools/gopls/internal/lsp/cmd/test.TestCheck (log)
--- FAIL: TestCheck (22.40s)
    integration_test.go:109: gopls check ./a.go: exited with code 2, want success: true (gopls check ./a.go: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/9f0b1600/typerefs/4f/4f6aa70b37706ef6a24896666e702602993c0c925a4030f7515589a0db8bf97e: bad file number

        goroutine 754 [running]:
        golang.org/x/tools/internal/bug.report({0xc001516370, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x45d
        golang.org/x/tools/internal/bug.Reportf({0xefe2af?, 0x28?}, {0xc0012a3928?, 0x1?, 0x1?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc0013729a0?, {0x1144ed0?, 0xc0000020a0}, {0xc00003a6a8, 0x11}, 0xc0004bec80?, {0xc000c88730, 0x1, 0xc33f60?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0004f2160, {0x1144ed0, 0xc0000020a0}, 0xc0003c2d20, {0xc000c88730, 0x1, 0x1})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000a10810, {0x1144ed0, 0xc0000020a0}, {0xc00003a6a8?, 0x11?}, 0xc0003c2d20)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 614
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:110: gopls check ./a.go: stdout does not match [fmt.Sprintf format %s has arg 123 of wrong type int]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-04-18 14:44 solaris-amd64-oraclerel tools@54c806f6 go@2c64b50d x/tools/gopls/internal/lsp/cmd/test.TestSignature (log)
--- FAIL: TestSignature (9.43s)
    integration_test.go:521: gopls signature a.go:4:15: exited with code 2, want success: true (gopls signature a.go:4:15: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/bd45b1ca/typerefs/f5/f502bd85a2335c3bba54909f91e8f14cb0f147ebc5568289f3621fa787a961f2: bad file number

        goroutine 748 [running]:
        golang.org/x/tools/internal/bug.report({0xc001312210, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x45d
        golang.org/x/tools/internal/bug.Reportf({0xefe2af?, 0x4cf1e8919f9054ba?}, {0xc000cb3928?, 0xf261a987a71f62f3?, 0xeba9b4?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000e7e9a0?, {0x1144ed0?, 0xc000c0a050}, {0xc000713400, 0xc}, 0xc0003eec80?, {0xc001390850, 0x1, 0xc33f60?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc000742000, {0x1144ed0, 0xc000c0a050}, 0xc0007be2d0, {0xc001390850, 0x1, 0x1})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000b087b0, {0x1144ed0, 0xc000c0a050}, {0xc000713400?, 0xc?}, 0xc0007be2d0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:522: gopls signature a.go:4:15: stdout does not match [Println\(a ...]; got <<>>
    integration_test.go:523: gopls signature a.go:4:15: stdout does not match [Println formats using the default formats...]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-04-18 19:06 solaris-amd64-oraclerel tools@641e4d7e go@54d42999 x/tools/gopls/internal/lsp/cmd/test.TestDefinition (log)
--- FAIL: TestDefinition (32.89s)
    integration_test.go:193: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/48665540/typerefs/37/37dfa687cb7954a570e9628936bb14e1d396c801df8f7a167ee4e281c27690ca: bad file number

        goroutine 471 [running]:
        golang.org/x/tools/internal/bug.report({0xc0020c11e0, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x45d
        golang.org/x/tools/internal/bug.Reportf({0xf0088c?, 0xe114bb368962e970?}, {0xc0011bb928?, 0xca9076c281e2e47e?, 0xebcefc?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc001040a60?, {0x11479b0?, 0xc000b7e0a0}, {0xc000821118, 0x4}, 0xc000498c80?, {0xc000fc80a0, 0xa, 0xc35b80?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0005ee160, {0x11479b0, 0xc000b7e0a0}, 0xc000a90870, {0xc000fc80a0, 0xa, 0xa})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000ef2a20, {0x11479b0, 0xc000b7e0a0}, {0xc000821118?, 0xc?}, 0xc000a90870)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 658
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:194: gopls definition a.go:7:2: stdout does not match [a.go:3:6-7: defined here as func f]; got <<>>
2023-04-18 19:06 solaris-amd64-oraclerel tools@641e4d7e go@130a7f8e x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (18.21s)
    integration_test.go:490: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/081fcbf8/typerefs/5f/5f819f1467d2a449ffe791a90337518cd2ed2616dba9477a615f8fcd064b234a: bad file number

        goroutine 755 [running]:
        golang.org/x/tools/internal/bug.report({0xc0005e0f20, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x445
        golang.org/x/tools/internal/bug.Reportf({0xf4a578?, 0x8c513703a991e7ff?}, {0xc00047d928?, 0x4a234b06cd8f5f61?, 0xf074ae?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x2c
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc001052a60?, {0x11aa2f8?, 0xc000ae7440}, {0xc00038fe30, 0x4}, 0xc000164a00?, {0xc00113c380, 0x37, 0xc7e8a0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0001382c0, {0x11aa2f8, 0xc000ae7440}, 0xc000536780, {0xc00113c380, 0x37, 0x37})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc00018bd10, {0x11aa2f8, 0xc000ae7440}, {0xc00038fe30?, 0x0?}, 0xc000536780)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:491: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:492: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>
2023-04-20 19:53 solaris-amd64-oraclerel tools@b35949e2 go@ecf7e00d x/tools/gopls/internal/lsp/cmd/test.TestCheck (log)
--- FAIL: TestCheck (21.45s)
    integration_test.go:109: gopls check ./a.go: exited with code 2, want success: true (gopls check ./a.go: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/533d11dc/typerefs/dd/ddc1d2db3fb2fa719a9fbb8c0a5e0953a04b9ace1dc99f1ab82e814f9533696a: bad file number

        goroutine 709 [running]:
        golang.org/x/tools/internal/bug.report({0xc0004c0a50, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x468
        golang.org/x/tools/internal/bug.Reportf({0xf56831?, 0x53095e0a8cbb9f9a?}, {0xc000a29928?, 0x6a6933954f812eb8?, 0xf133e0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x2c
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000950938?, {0x11a0a80?, 0xc00040e190}, {0xc0005adfb0, 0xd}, 0xc000636500?, {0xc0008f3500, 0x3, 0xc89940?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc00023dce0, {0x11a0a80, 0xc00040e190}, 0xc000227590, {0xc0008f3500, 0x3, 0x3})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc00098f8f0, {0x11a0a80, 0xc00040e190}, {0xc0005adfb0?, 0xd?}, 0xc000227590)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:110: gopls check ./a.go: stdout does not match [fmt.Sprintf format %s has arg 123 of wrong type int]; got <<>>
2023-04-20 19:53 solaris-amd64-oraclerel tools@b35949e2 go@ecf7e00d x/tools/gopls/internal/lsp/cmd/test.TestDefinition (log)
--- FAIL: TestDefinition (22.63s)
    integration_test.go:193: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/533d11dc/typerefs/52/5267d0ce6feb959d3c1029ed0ebc305a3e94cdfda4938fa2f28a67a4fa4c0f87: bad file number

        goroutine 712 [running]:
        golang.org/x/tools/internal/bug.report({0xc001312bb0, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x468
        golang.org/x/tools/internal/bug.Reportf({0xf56831?, 0x5a30bc0eed29103c?}, {0xc000a9b928?, 0x870f4cfaa4678af2?, 0xf133e0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x2c
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000ae2a60?, {0x11a0a80?, 0xc0003881e0}, {0xc00012a9c0, 0x15}, 0xc000408500?, {0xc000b02780, 0x1, 0xc89940?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0007e6000, {0x11a0a80, 0xc0003881e0}, 0xc0002090e0, {0xc000b02780, 0x1, 0x1})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000b395f0, {0x11a0a80, 0xc0003881e0}, {0xc00012a9c0?, 0x15?}, 0xc0002090e0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:194: gopls definition a.go:7:2: stdout does not match [a.go:3:6-7: defined here as func f]; got <<>>
2023-04-20 20:04 solaris-amd64-oraclerel tools@9c9e11f3 go@130a7f8e x/tools/gopls/internal/lsp/cmd/test.TestDefinition (log)
--- FAIL: TestDefinition (24.19s)
    integration_test.go:193: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/3c48b41b/typerefs/4f/4f84d753fc3b239721e4cedee762c13016c7a713c5b4ef92700f61a37387ea83: bad file number

        goroutine 640 [running]:
        golang.org/x/tools/internal/bug.report({0xc0002469a0, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x445
        golang.org/x/tools/internal/bug.Reportf({0xf4b73a?, 0x30c162e7decee421?}, {0xc000ed7928?, 0x83ea8773a3610f70?, 0xf08696?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x2c
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc0009ed938?, {0x11ab678?, 0xc000912780}, {0xc00042fc70, 0xc}, 0xc0003e0c80?, {0xc000459740, 0x2, 0xc7f8e0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc000476160, {0x11ab678, 0xc000912780}, 0xc00020ae10, {0xc000459740, 0x2, 0x2})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000441170, {0x11ab678, 0xc000912780}, {0xc00042fc70?, 0xc?}, 0xc00020ae10)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:194: gopls definition a.go:7:2: stdout does not match [a.go:3:6-7: defined here as func f]; got <<>>
2023-04-21 14:54 solaris-amd64-oraclerel tools@21a4769d go@ed832ed3 x/tools/gopls/internal/lsp/cmd/test.TestCheck (log)
--- FAIL: TestCheck (17.19s)
    integration_test.go:109: gopls check ./a.go: exited with code 2, want success: true (gopls check ./a.go: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/51d7bbd0/typerefs/94/947f0f252bd98a3fba3328d04b15cd3d70cc6446395caf0c587f6b99906450cc: bad file number

        goroutine 631 [running]:
        golang.org/x/tools/internal/bug.report({0xc001004420, 0xab}, 0x0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:75 +0x45d
        golang.org/x/tools/internal/bug.Reportf({0xf028f2?, 0x3dcd154bd02833ba?}, {0xc000627928?, 0xcc506490996b7f58?, 0xebedf7?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/internal/bug/bug.go:49 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000918a60?, {0x114a508?, 0xc000f7c230}, {0xc00011c710, 0x10}, 0xc0003a8c80?, {0xc0003c3780, 0x8, 0xc0fc80?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0003ac2c0, {0x114a508, 0xc000f7c230}, 0xc0002c6f00, {0xc0003c3780, 0x8, 0x8})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc00079de60, {0x114a508, 0xc000f7c230}, {0xc00011c710?, 0xc0003e8540?}, 0xc0002c6f00)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:110: gopls check ./a.go: stdout does not match [fmt.Sprintf format %s has arg 123 of wrong type int]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-04-27 22:13 solaris-amd64-oraclerel tools@165099bd go@25b4f406 x/tools/gopls/internal/lsp/cmd/test.TestCheck (log)
--- FAIL: TestCheck (16.36s)
    integration_test.go:109: gopls check ./a.go: exited with code 2, want success: true (gopls check ./a.go: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/0270e27d/typerefs/e5/e51d817d6b488e1578ce81938f00fc457225bef1217291c0cdab240ccddc7bba: bad file number

        goroutine 713 [running]:
        golang.org/x/tools/gopls/internal/bug.report({0xc0010c42c0, 0xab})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:71 +0x428
        golang.org/x/tools/gopls/internal/bug.Reportf({0xf59317?, 0x45fc008f9381ce78?}, {0xc0010bf928?, 0xba7bdccd0c24abcd?, 0xf15d2d?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:45 +0x2a
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000cd0a60?, {0x11a4040?, 0xc000a201e0}, {0xc000161580, 0x10}, 0xc0003d4000?, {0xc00012a780, 0x8, 0xc62fa0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0003e6580, {0x11a4040, 0xc000a201e0}, 0xc000208960, {0xc00012a780, 0x8, 0x8})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc0005b8990, {0x11a4040, 0xc000a201e0}, {0xc000161580?, 0xc0008f9708?}, 0xc000208960)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:110: gopls check ./a.go: stdout does not match [fmt.Sprintf format %s has arg 123 of wrong type int]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && log ~ `bad file number`
2023-05-01 14:34 solaris-amd64-oraclerel tools@c6b5780e go@069f9fb2 x/tools/gopls/internal/lsp/cmd/test.TestSignature (log)
--- FAIL: TestSignature (6.60s)
    integration_test.go:524: gopls signature a.go:4:15: exited with code 2, want success: true (gopls signature a.go:4:15: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/9ab7ea71/typerefs/4f/4f6aa70b37706ef6a24896666e702602993c0c925a4030f7515589a0db8bf97e: bad file number

        goroutine 657 [running]:
        golang.org/x/tools/gopls/internal/bug.report({0xc001112160, 0xab})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:71 +0x454
        golang.org/x/tools/gopls/internal/bug.Reportf({0xf08933?, 0x226706e669648a2?}, {0xc000f65928?, 0x7ef98bdba0895551?, 0xec2fcc?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:45 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc00008e9a0?, {0x1151650?, 0xc000318280}, {0xc00003a750, 0x11}, 0xc000204280?, {0xc0004808b0, 0x1, 0xc150c0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc000176160, {0x1151650, 0xc000318280}, 0xc0000bd860, {0xc0004808b0, 0x1, 0x1})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc0007bd2c0, {0x1151650, 0xc000318280}, {0xc00003a750?, 0x11?}, 0xc0000bd860)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 650
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:525: gopls signature a.go:4:15: stdout does not match [Println\(a ...]; got <<>>
    integration_test.go:526: gopls signature a.go:4:15: stdout does not match [Println formats using the default formats...]; got <<>>

watchflakes

@findleyr findleyr changed the title x/tools/gopls: test failures with bad file number on solaris-amd64-oraclerel x/tools/gopls: test failures with bad file number or exec format error on solaris-amd64-oraclerel May 3, 2023
@findleyr
Copy link
Contributor

findleyr commented May 3, 2023

I am including exec format error failures here as well, though I'm not sure if they are related.

@bcmills
Copy link
Contributor

bcmills commented May 4, 2023

(CC @golang/illumos, although to my knowledge we have not seen this failure mode on the illumos builder.)

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && (log ~ `bad file number` || log ~ `exec format error`)
2023-04-25 19:18 solaris-amd64-oraclerel tools@dd89a2eb go@25b4f406 x/tools/gopls/internal/regtest/misc (log)
fork/exec /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/tmp/go-build849421425/b542/misc.test: exec format error

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && (log ~ `bad file number` || log ~ `exec format error`)
2023-05-05 13:51 solaris-amd64-oraclerel tools@4ac71c00 go@324c3ace x/tools/gopls/internal/lsp/cmd/test.TestDefinition (log)
--- FAIL: TestDefinition (39.80s)
    integration_test.go:196: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/04be4899/typerefs/00/0075bdccd989e47ce8e6621e9307a04e700547286a139a3891047d289794c1e5: bad file number

        goroutine 683 [running]:
        golang.org/x/tools/gopls/internal/bug.report({0xc000e380b0, 0xab})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:71 +0x459
        golang.org/x/tools/gopls/internal/bug.Reportf({0xf5d750?, 0x4ea007931e62e6e8?}, {0xc000349928?, 0xe5c19497287d0491?, 0xf1a022?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:45 +0x2a
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000159938?, {0x11a90e0?, 0xc000e7a190}, {0xc0003a4738, 0x15}, 0xc0002b2280?, {0xc000f3a300, 0xc, 0xc66340?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0007ce160, {0x11a90e0, 0xc000e7a190}, 0xc0004bb0e0, {0xc000f3a300, 0xc, 0xc})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc00104a9f0, {0x11a90e0, 0xc000e7a190}, {0xc0003a4738?, 0xc0004c23c0?}, 0xc0004bb0e0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:197: gopls definition a.go:7:2: stdout does not match [a.go:3:6-7: defined here as func f]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg ~ `^golang\.org/x/tools` && (log ~ `bad file number` || log ~ `exec format error`)
2023-05-05 18:39 solaris-amd64-oraclerel tools@7c6c2b7f go@a5350558 x/tools/gopls/internal/lsp/cmd/test.TestDefinition (log)
--- FAIL: TestDefinition (16.26s)
    integration_test.go:196: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/48bcd34e/typerefs/c4/c4d1525fb716d2e23eec032142fa4c144979d5c6dc24e3eecdc79f9a420e8445: bad file number

        goroutine 737 [running]:
        golang.org/x/tools/gopls/internal/bug.report({0xc000d06370, 0xab})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:71 +0x454
        golang.org/x/tools/gopls/internal/bug.Reportf({0xf09794?, 0x144cfa422103ec3e?}, {0xc000d4f928?, 0x45840e429a9fc7cd?, 0xec3d62?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:45 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc0006f69a0?, {0x11527d0?, 0xc0004125f0}, {0xc000560bd0, 0xc}, 0xc000382500?, {0xc000481700, 0x2, 0xc16600?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc00025c2c0, {0x11527d0, 0xc0004125f0}, 0xc0003ecc30, {0xc000481700, 0x2, 0x2})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000b8aab0, {0x11527d0, 0xc0004125f0}, {0xc000560bd0?, 0x0?}, 0xc0003ecc30)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 734
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:197: gopls definition a.go:7:2: stdout does not match [a.go:3:6-7: defined here as func f]; got <<>>

watchflakes

@bcmills bcmills changed the title x/tools/gopls: test failures with bad file number or exec format error on solaris-amd64-oraclerel all: test failures with bad file number or exec format error on solaris-amd64-oraclerel May 8, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- builder == "solaris-amd64-oraclerel" && (log ~ `bad file number` || log ~ `exec format error`)
2023-05-03 21:27 solaris-amd64-oraclerel go@129b597d cmd/go.TestScript (log)
vcs-test.golang.org rerouted to http://127.0.0.1:34293
https://vcs-test.golang.org rerouted to https://127.0.0.1:47141
go test proxy running at GOPROXY=http://127.0.0.1:33115/mod
--- FAIL: TestScript (4.89s)
    --- FAIL: TestScript/test_match_no_benchmarks (13.61s)
        script_test.go:134: 2023-05-04T02:10:03Z
        script_test.go:136: $WORK=/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/tmp/cmd-go-test-3879112355/tmpdir2172046784/test_match_no_benchmarks4235072177
        script_test.go:154: 
            # Matches no benchmarks (13.353s)
            > go test -run '^$' -bench ThisWillNotMatch standalone_benchmark_test.go
            [stdout]
            fork/exec /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/tmp/cmd-go-test-3879112355/tmpdir2172046784/test_match_no_benchmarks4235072177/tmp/go-build393922268/b001/standalone_benchmark.test: exec format error
            FAIL	command-line-arguments	0.021s
            FAIL
        script_test.go:154: FAIL: test_match_no_benchmarks.txt:2: go test -run ^$ -bench ThisWillNotMatch standalone_benchmark_test.go: exit status 1

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- builder == "solaris-amd64-oraclerel" && (log ~ `bad file number` || log ~ `exec format error`)
2023-05-08 16:39 solaris-amd64-oraclerel tools@f4d143eb go@dd78bc05 x/tools/gopls/internal/lsp/cmd/test.TestDefinition (log)
--- FAIL: TestDefinition (20.03s)
    integration_test.go:196: gopls definition a.go:7:2: exited with code 2, want success: true (gopls definition a.go:7:2: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/4353a0c1/typerefs/4f/4f6aa70b37706ef6a24896666e702602993c0c925a4030f7515589a0db8bf97e: bad file number

        goroutine 736 [running]:
        golang.org/x/tools/gopls/internal/bug.report({0xc0002e2370, 0xab})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:71 +0x454
        golang.org/x/tools/gopls/internal/bug.Reportf({0xf154d7?, 0x226706e669648a2?}, {0xc000571928?, 0x7ef98bdba0895551?, 0xecfaa2?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:45 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc000c3d9a0?, {0x115f950?, 0xc000528230}, {0xc00003a6f0, 0x11}, 0xc000348000?, {0xc000877c10, 0x1, 0xc1e9e0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0005b02c0, {0x115f950, 0xc000528230}, 0xc00081cc30, {0xc000877c10, 0x1, 0x1})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000dbbdd0, {0x115f950, 0xc000528230}, {0xc00003a6f0?, 0x0?}, 0xc00081cc30)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:197: gopls definition a.go:7:2: stdout does not match [a.go:3:6-7: defined here as func f]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- builder == "solaris-amd64-oraclerel" && (log ~ `bad file number` || log ~ `exec format error`)
2023-05-09 21:13 solaris-amd64-oraclerel tools@23108489 go@324c3ace x/tools/gopls/internal/lsp/cmd/test.TestReferences (log)
--- FAIL: TestReferences (32.66s)
    integration_test.go:493: gopls references a.go:4:10: exited with code 2, want success: true (gopls references a.go:4:10: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/79beef28/typerefs/d1/d1d64a5b7659c1a1cb77838348273000556f6d5a565dd6313640add0b4b5e2b2: bad file number

        goroutine 494 [running]:
        golang.org/x/tools/gopls/internal/bug.report({0xc0001e2420, 0xab})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:71 +0x459
        golang.org/x/tools/gopls/internal/bug.Reportf({0xf5eb41?, 0x302748838377cb?}, {0xc000681928?, 0xb2e2b5b4d0ad4036?, 0xf1b3e7?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:45 +0x2a
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc001325938?, {0x11aa7e0?, 0xc00030a0f0}, {0xc00011663a, 0x6}, 0xc000556000?, {0x17a49f8, 0x0, 0xc66a20?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x15d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc000234b00, {0x11aa7e0, 0xc00030a0f0}, 0xc00021c3c0, {0x17a49f8, 0x0, 0x0})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x206
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000742750, {0x11aa7e0, 0xc00030a0f0}, {0xc00011663a?, 0x6?}, 0xc00021c3c0)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x35d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x1b1
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.2.0/errgroup/errgroup.go:75 +0x64
        created by golang.org/x/sync/errgroup.(*Group).Go
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.2.0/errgroup/errgroup.go:72 +0xa5
        >>)
    integration_test.go:494: gopls references a.go:4:10: stdout does not match [a.go:4:6-13]; got <<>>
    integration_test.go:495: gopls references a.go:4:10: stdout does not match [b.go:4:6-13]; got <<>>

watchflakes

@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- builder == "solaris-amd64-oraclerel" && (log ~ `bad file number` || log ~ `exec format error`)
2023-05-09 17:51 solaris-amd64-oraclerel tools@90e9c659 go@841e99e2 x/tools/gopls/internal/lsp/cmd/test.TestSignature (log)
--- FAIL: TestSignature (17.16s)
    integration_test.go:524: gopls signature a.go:4:15: exited with code 2, want success: true (gopls signature a.go:4:15: exit=2 stdout=<<>> stderr=<<panic: /opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081: internal error reading typerefs data: RLock /opt/golang/.cache/gopls/fe6043aa/typerefs/f5/f502bd85a2335c3bba54909f91e8f14cb0f147ebc5568289f3621fa787a961f2: bad file number

        goroutine 754 [running]:
        golang.org/x/tools/gopls/internal/bug.report({0xc000bba160, 0xab})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:71 +0x454
        golang.org/x/tools/gopls/internal/bug.Reportf({0xf197be?, 0x4cf1e8919f9054ba?}, {0xc000f63928?, 0xf261a987a71f62f3?, 0xed3d33?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/bug/bug.go:45 +0x25
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefData(0xc00084a9a0?, {0x1164230?, 0xc00038e3c0}, {0xc000723600, 0xc}, 0xc000426780?, {0xc000192850, 0x1, 0xc21ba0?})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1081 +0x14d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).typerefs(0xc0005ca000, {0x1164230, 0xc00038e3c0}, 0xc000001e00, {0xc000192850, 0x1, 0x1})
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:1060 +0x1f4
        golang.org/x/tools/gopls/internal/lsp/cache.(*packageHandleBuilder).buildPackageHandle(0xc000e85c20, {0x1164230, 0xc00038e3c0}, {0xc000723600?, 0xc?}, 0xc000001e00)
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:922 +0x33d
        golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).getPackageHandles.func2()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/src/golang.org/x/tools/gopls/internal/lsp/cache/check.go:808 +0x191
        golang.org/x/sync/errgroup.(*Group).Go.func1()
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.2.0/errgroup/errgroup.go:75 +0x5b
        created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 703
        	/opt/golang/tmp/workdir-host-solaris-oracle-amd64-oraclerel/gopath/pkg/mod/golang.org/x/sync@v0.2.0/errgroup/errgroup.go:72 +0x96
        >>)
    integration_test.go:525: gopls signature a.go:4:15: stdout does not match [Println\(a ...]; got <<>>
    integration_test.go:526: gopls signature a.go:4:15: stdout does not match [Println formats using the default formats...]; got <<>>

watchflakes

@findleyr findleyr removed the gopls Issues related to the Go language server, gopls. label May 10, 2023
@findleyr
Copy link
Contributor

Since this has proven to be reproducible outside of gopls, I'll remove this from the gopls@v0.12.0 milestone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Solaris Tools This label describes issues relating to any tools in the x/tools repository.
Projects
Status: No status
Development

No branches or pull requests

6 participants