-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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/vuln: govulncheck very slow in CI #68307
Comments
cc @golang/vulndb |
Likely a dup of #54940 and #67838.
Low memory is the most likely culprit. Do you have any information on how much govulncheck is consuming remotely?
That is a bit surprising. How much memory is consumed locally?
@zpavlinovic any ideas? |
This seems like a duplicate of #67838. We currently don't have a way of digging into the performance bottlenecks. This definitely seems to be a large repository (~2k dependent packages) so the memory consumption will spike to several GBs. To validate this hypothesis, see if you can increase your CI memory limit. (My bet is that the current limit is 4GB, so I would bump it to 8GB) |
Perhaps similar to #38714 |
Thanks for the hints, I jumped into an SSH session on the CI machine and it has 8 GB of memory, running Also, this repo is unfortunately private so I can't share a reproducer but I believe most of the package are coming from only a single import which is public so I'll look into that. |
Will add this to a to-look-into list. |
Trying with Valgrind caused an SSL handshake timeout, so just running the check locally looks to use ~12 GB of memory. Our main dependency is https://github.com/juju/juju, running Bumping up the CI machine to one with 16GB RAM resolved the problem. I'll close this issue, thank you for the help. |
govulncheck version
Go: go1.22.4
Scanner: [email protected]
DB: https://vuln.go.dev
DB updated: 2024-07-03 16:27:09 +0000 UTC
Does this issue reproduce at the latest version of golang.org/x/vuln?
Yes, installed with
go install golang.org/x/vuln/cmd/govulncheck@latest
currently pointing at v1.1.2Output of
go env
in your module/workspace:What did you do?
Ran
govulncheck -show verbose ./...
on a private repo via thegolang/govulncheck-action@v1
Github action.Also tested by SSHing into the machine and running the same command.
What did you see happen?
The output shows
After 30 min there is still no further output. Locally the check finishes after ~1m30s but in CI on a Github runner the process seems to be taking extremely long.
What did you expect to see?
I expected to see the output after a few seconds/minutes. Is there any way to dig into what is being slow? Is the CI machine just too low-spec?
Some other info:
Running
govulncheck -mode binary
takes <1s to run.The text was updated successfully, but these errors were encountered: