-
Notifications
You must be signed in to change notification settings - Fork 5.8k
8333144: docker tests do not work when ubsan is configured #19907
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
Conversation
👋 Welcome back mbaesken! A progress list of the required criteria for merging this PR into |
@MBaesken This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 111 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Webrevs
|
@MBaesken This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Hello, any input on this ? So we have to check for ubsan (see the PR for an example) or install ubsan into the docker (or podman or ...) container . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On the one hand this seems like a "Dr Dr it hurts when I do this" kind of problem. On the other hand it only affects the docker testing so I'm inclined to let it in, even though it is a bit of a blunt instrument (what if ubsan is installed in the container and someone wants to run with it enabled there?).
We could also try to install the ubsan package into the test container, at least for the default container setup. |
I think others who have more investment in this area need to weigh in. I don't know the implications for our infra folk if we need to ensure ubsan is installed. |
I think this would be in the standard container config / BUILDFILE we use for the tests. So if all works well, no implications. On the other hand, we could also just run the ubsan - based tests with an own exclude/problem list and exclude the docker test that currently cannot work. That needs a separate list but no other src changes like this PR or the idea with adjusted docker container config. |
I would prefer to add the required ubsan libraries to the container used for testing when testing an ubsan enabled build. Can we achieve this? |
I added libubsan1 to the container (tested it and works nicely, should do no harm if we test a non-ubsan build). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think adding libubsan1 to the test container is the best way to go. If it cannot be made conditional on ubsan builds then be it so. Then the Whitebox changes should be removed obviously.
I removed the WhiteBox stuff. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine for me.
I have seen this too late.. some questions:
|
We use Ubuntu for the container test base image as default , see
To be more on the safe side (potentially the image can be switched with jdk.test.docker.image.name) we could add a check (and avoid adding the libubsan1 package if it is not ubuntu). Regarding compatibility, I've seen no issues (and if you compile without ubsan you would not reference the libubsan1 anyway). So it is for some special configuration. |
Testing ... |
This had no impact on our tier5 testing where we test container related stuff. |
Hi David, thanks for testing. |
Okay, thanks Matthias |
@MBaesken I know nothing about container setup, sorry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonable
Hi Thomas and Christoph, thanks for the reviews ! |
/integrate |
Going to push as commit fbe8a81.
Your commit was automatically rebased without conflicts. |
@MBaesken This breaks container tests on non Debian distros. Please add some form of property that needs to be set to install |
weird that Oracle reported no errors since I assume they test on what essentially is RHEL |
It would depend whether or not skipped tests are flagged or not. The container tests get silently skipped if the container build of the image to test fails. That might be a reason. |
I created |
Thanks! |
Currently when we run with ubsan - enabled binaries (configure option --enable-ubsan, see JDK-8298448), the docker tests do not work.
We find this in the test output
[STDOUT]
/jdk/bin/java: error while loading shared libraries: libubsan.so.1: cannot open shared object file: No such file or directory
The container where the test is executed does not contain the ubsan package; we might skip the test in this case.
Progress
Warning
8333144: docker tests do not work when ubsan is configured
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/19907/head:pull/19907
$ git checkout pull/19907
Update a local copy of the PR:
$ git checkout pull/19907
$ git pull https://git.openjdk.org/jdk.git pull/19907/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 19907
View PR using the GUI difftool:
$ git pr show -t 19907
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/19907.diff
Webrev
Link to Webrev Comment