-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/vendor/github.com/google/pprof/internal/binutils: test failure inside a container: TestObjFile #23888
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
Comments
I’m sorry this didn’t work for you. You need to give us more information before we can help.
What container environment? How is it configured? What are its limits? Have you tried increasing them? What error messages do you get in other related systems like dmesg on the host?
… On 17 Feb 2018, at 21:39, Nehal J Wani ***@***.***> wrote:
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go 1.10
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/go"
GORACE=""
GOROOT="/opt/conda/conda-bld/go_1518860727469/work/go"
GOTMPDIR=""
GOTOOLDIR="/opt/conda/conda-bld/go_1518860727469/work/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build979971167=/tmp/go-build"
What did you do?
Ran this script: https://github.com/conda-forge/go-feedstock/blob/master/recipe/build.sh
What did you expect to see?
All tests should've passed
What did you see instead?
--- FAIL: TestObjFile (0.05s)
binutils_test.go:231: SourceLine: unexpected error write |1: broken pipe
FAIL
FAIL cmd/vendor/github.com/google/pprof/internal/binutils 0.224s
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Container is run using:
Limits (nothing explicitly configured):
|
At a guess your container ran out of ram and the kernel oom killed one of the tests child processes. My rule of thumb is ./all.bash needs ~768 mb of ram per 64bit core. |
Dmesg on your host system might give you a clue |
I have 8GB RAM on the host machine No trace of OOM in dmesg. |
Is docker applying any limits to the amount of memory a container can use? |
No, no cgroup limits. I even ran the container with --privileged but I come across the same error. Interestingly, the CI build on CircleCI passed. |
This test is going to start a separate program, either |
I see the same failure on RHEL 6.9. No OOM in dmesg. Very consistent. If someone will point out how to run the test in isolation without installing 1.10, I'll strace it. |
@joenall this appears to work for me, for running that one test. After a run of
I'm also on CentOS 6, in a QEMU VM with 1 CPU and 4G RAM. No evidence of OOM, and I have If I use a newer gcc (e.g., from the devtoolset collection), the test succeeds, so maybe it's to do with old gcc/libgcc, since EL6 has GCC 4.4.x? |
I see the same failure on CentOS 6.9 too, yes, very consistent. Details are: $ gcc --version |
I finally figured out why this is happening. The command which actually fails is:
The source code for the generation of this command is available at: Now, the add2line file comes from the package: binutils The command fails, because, on CentOS 6.9, the version of binutils is 2.20 and according to https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=binutils/NEWS;hb=refs/tags/binutils-2_27 , the So, to get around this, I built binutils from source and added the binaries built by it to PATH and then ran the tests, which passed. |
Closing, as the only solution that seems to work is to get a newer binutils. |
I think the test should be fixed to detect this case and skip the test when it happens. However, this needs to be fixed in the pprof code, not the Go code. When the pprof code is fixed, it can be re-vendored into the Go code. |
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version
)?go 1.10
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (
go env
)?What did you do?
Ran this script: https://github.com/conda-forge/go-feedstock/blob/master/recipe/build.sh
What did you expect to see?
All tests should've passed
What did you see instead?
The text was updated successfully, but these errors were encountered: