Skip to content
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

JDK22+ Mac x64 builds cannot be tested on MacOS versions below 11 #949

Closed
adamfarley opened this issue Feb 29, 2024 · 6 comments
Closed
Assignees
Labels
mac testing x64 Issues that affect or relate to the x64/x32 LINUX OS

Comments

@adamfarley
Copy link
Contributor

What are you trying to do?

Ensure all JDK22+ Mac x64 tests are run with a node label that excludes the one MacOS test node using a version under 11.

Expected behaviour:

The node label for all testing should include a "!sw.os.osx.10_14".

Observed behaviour:

https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk22/job/jdk22-mac-x64-temurin/15/

We fail when we get to the smoke tests on a 10.14 machine. Error message:

00:43:53  =JAVA VERSION OUTPUT BEGIN=
00:43:53  dyld: lazy symbol binding failed: Symbol not found: _objc_opt_respondsToSelector
00:43:53    Referenced from: /Users/jenkins/workspace/build-scripts/jobs/jdk22/jdk22-mac-x64-temurin_SmokeTests/jdkbinary/j2sdk-image/Contents/Home/lib/libjava.dylib (which was built for Mac OS X 11.0)
00:43:53    Expected in: /usr/lib/libobjc.A.dylib

Any other comments:

Discovered here, discussed here, and documented here.

@adamfarley adamfarley self-assigned this Feb 29, 2024
@github-actions github-actions bot added mac testing x64 Issues that affect or relate to the x64/x32 LINUX OS labels Feb 29, 2024
@adamfarley adamfarley moved this to In Progress in 2024 1Q Adoptium Plan Feb 29, 2024
@adamfarley
Copy link
Contributor Author

Draft PR created here, which was based on this fix here.

Being tested here: https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk22/job/jdk22-mac-x64-temurin/18/console

@adamfarley
Copy link
Contributor Author

adamfarley commented Mar 1, 2024

The additional test label isn't being passed down to the smoke test job. I think this is because we pass the point where the modified code is called before the pipeline reaches the stage where we can modify it via jenkins job parameter.

Here's a run where we do use the modified code: https://ci.adoptium.net/job/build-scripts/job/openjdk22-pipeline/128/console

@smlambert
Copy link
Contributor

To resolve the issue described in #949 (comment), try adding
context.string(name: 'LABEL_ADDITION', value: additionalTestLabel),
to this section of code.

@adamfarley
Copy link
Contributor Author

Thanks Shelley. I think it's already there, I just wasn't running my modified code due to the hard-coded pipeline repo/branch value for ci-jenkins-pipeline. I've hit this before, I just forgot about it.

My rerun here definitely uses my modified code.

@adamfarley
Copy link
Contributor Author

Ok, that works! Requesting reviews now.

@adamfarley
Copy link
Contributor Author

PR merged, issue closed.

@github-project-automation github-project-automation bot moved this from In Progress to Done in 2024 1Q Adoptium Plan Mar 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mac testing x64 Issues that affect or relate to the x64/x32 LINUX OS
Projects
No open projects
Status: Done
Development

No branches or pull requests

2 participants