-
Notifications
You must be signed in to change notification settings - Fork 257
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
Prlimit Unit Test fails on s390x #3341
Comments
So this branch of CDI is using older golang, maybe that is the problem? |
This was tested with go 1.22.3 and 1.22.4. |
The unit tests run is containerized, this is why I am implying the branch matters |
yep, thanks for pointing that out |
Go 1.22 only made it to |
Oh meant |
Yeah that sounds about right, but, ideally I would like to understand what is it exactly that s390x doesn't like in this particular case? Is there a nonlegitimate request in that? seems completely fine to me |
We discussed this in the sig-storage call, what we can do as a quick fix is to bump the memory limit to 2Gi However, ideally, we would like to understand specifically why this fails on s390x; |
I wasn't successful yet in troubleshooting the issue through memory profiling or valgrind, but I found a value, where the tests gets flaky. |
Additionally the same Error can happen under A further investigation is neccesary here |
Interesting.. I would run the unit tests locally and follow the memory consumption of the container, |
Small correction here to pull back a little:
The first one can easily be reproduced by lowering the limit to |
yeah tbh today I noticed the unit test container spike over 4Gi even using |
So I have been chasing a similar issue recently.. apparently we're in the wrong to be using RLIMIT_AS in the first place to try to limit go programs, which are notorious for high virtual memory size. I am assuming the bit that makes it worse for your GOARCH is somewhere around the mmap here |
What happened:
In #3226 it was discovered, that
prlimit_test.go
fails on s390x, when using a specific go version. The go version was then bumped to1.22.3
and the Issue was closed, but the Problem is not yet resolved.There are currently 2 possible fixes for this:
-coverprofile=.coverprofile
flag from the go-test commandcontainerized-data-importer/hack/build/run-unit-tests.sh
Line 26 in 364d582
containerized-data-importer/pkg/system/prlimit_test.go
Line 62 in 364d582
The second option seems to be the correct one, but not sure as both fixes do not seem to be related to me.
What you expected to happen:
Unit Tests Succeeding
How to reproduce it (as minimally and precisely as possible):
On a s390x LPAR:
main
<ported builder image for s390x>
a).
go test -coverprofile=.coverprofile ./pkg/system/...
b).
./hack/build/bazel-docker.sh ./hack/build/run-unit-tests.sh ./pkg/system/..."
Environment:
uname -a
): 5.14.0-427.22.1.el9_4.s390xThe text was updated successfully, but these errors were encountered: