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
cmd/go/internal/modload: SIGSEGV: segmentation violation #51589
Comments
Here is another log, a bit longer from testify instead of golint:
|
I started looking into this but realized that I don't actually have the steps to reproduce the failure — what module were you in when you observed the segfaults, checked out at what commit, and what |
I was running The code which reproduces this is rather complex because it integrates Go modules with the Gentoo & ChromiumOS portage build system. What I think is a very important information is the module versions in the proxy change from the upstream versions because portage can modify / patch the modules it installs into the proxy. The module versions can be non-deterministic because they are generated by the portage build system. For example:
The "module not found error" is expected. What is not expected is the crash. The workaround I use for now is to instruct portage to generate deterministic versions for each module installed in the proxy. Not sure if having non-deterministic versions is a good idea, likely not. |
Ah, I think the problem is here: There is a call to |
Change https://go.dev/cl/427054 mentions this issue: |
Fixes golang#51589 Change-Id: Ie9c56110754f4a435b22e2d7a86ae34b0bd28909 Reviewed-on: https://go-review.googlesource.com/c/go/+/427054 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com>
What version of Go are you using (
go version
)?go version go1.17.1 linux/amd64
and also
go version go1.17.8 linux/amd64
These versions are used within the ChromeOS SDK / chroot environment.
Does this issue reproduce with the latest release?
I only tried the latest v1.17 minor release. I did not test v1.18 which is not released yet.
What operating system and processor architecture are you using (
go env
)?What did you do?
I'm migrating the ChromeOS SDK from GOPATH mode to modules mode, so I'm making all ebuilds install into a GOPROXY file:/// path from where
go mod download
fetches, then go mod tidy is run before the build cmd. It all works neatly except when trying to build the golint packages & module deps, go segfaults.I know golint is abandoned and frozen, but we still need to use it for now in ChromeOS - we have TODO to replace it with something else, but I think that is irrelevant to this segfault.
What did you expect to see?
The error about the missing .mod file should be fine. The SIGSEGV is unexpected.
What did you see instead?
Here is the full output:
Please ask if you need any help or more testing. Thank you!
The text was updated successfully, but these errors were encountered: