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
runtime: TestMemmoveOverflow: memmove_linux_amd64_test.go:43: could not map a page at requested 0xa00be00000: cannot allocate memory #16731
Comments
I have to add that I experienced no such issue while building go 1.6.2 or 1.7beta1. |
Which os and kernel are you using ? Does you kernel lean towards the more On Tue, Aug 16, 2016 at 8:46 PM, Jean-Christophe Manciot <
|
Ubuntu server 16.04 4.4.0-34. default settings. |
Do you perhaps have a ulimit set? (Add a "ulimit -a" into the script just before calling all.bash to print the current values) |
No |
This doesn't look like a bug in Go per se. It looks like a limitation of your kernel. It gets to about 3000 mappings and then dies creating another one. That said, I'm not sure what this test is intended to test, exactly. It seems like an awful lot of resources for a test. Maybe it is just trying to simulate large Go heaps? |
OK.
|
Almost exactly the same issue with commit 1.7.1 (slightly different RAM address):
|
The test was added by @remyoudompheng for #4981, "runtime: fix integer overflow in amd64 memmove" (fix+test: 1b8f51c) |
In the meantime, is it possible to remove the test to let the build complete and what would be the alleged consequences? |
Yeah, we could skip it in short mode. Or only run it in short mode on the builders (build.golang.org machines). No consequences for disabling it. |
And how do you enable "short mode" for the build? I don't see anything about that in the doc. |
https://godoc.org/testing#Short See the example at the top of the page for how to use it. On Sat, Sep 10, 2016 at 4:22 PM, Jean-Christophe Manciot <
|
You seem to misunderstand my request: I call the build with a simple script which automates everything including the tests:
There should be an option that we can pass to "all.bash", such as --skip-tests, or --skip-test=, or an environment variable that can be set the same way in order to specify which test we can skip. |
If you don't want to run the tests, you can use ./make.bash
|
I meant we could do something like https://go-review.googlesource.com/#/c/28782/1/src/net/http/transport_test.go which makes that test skipped for most users casually running func TestTransportEventTraceRealDNS(t *testing.T) {
if testing.Short() && testenv.Builder() == "" {
// Skip this test in short mode (the default for
// all.bash), in case the user is using a shady/ISP
// DNS server hijacking queries.
// See issues 16732, 16716.
// Our builders use 8.8.8.8, though, which correctly
// returns NXDOMAIN, so still run this test there.
t.Skip("skipping in short mode")
} |
I'm finally able to build 1.7.1 with ./make.bash; I'd like to run the tests when they are all operational for Ubuntu. |
CL https://golang.org/cl/32104 mentions this issue. |
go version
)?Building 1.7 with 1.4.3
go env
)?GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/actionmystique/Program-Files/Ubuntu/GO-Packages"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build592966653=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
With $release_number=1.7:
Correct compilation
The text was updated successfully, but these errors were encountered: