Openjdk-tests: JDK 16 and 17 on Alpine (musl) need testing

Created on 2 Feb 2021  路  14Comments  路  Source: AdoptOpenJDK/openjdk-tests

In roughly a month, we're going to release AdoptOpenJDK 16. For the first time, support for musl instead of glibc is included. While we build nightlies, we don't test them:

https://github.com/AdoptOpenJDK/openjdk-build/blob/3a26592a68ac5d58ae55bbe385a620f29d2ce695/pipelines/jobs/configurations/jdk16_pipeline_config.groovy#L55-L65

I think we should do something about that.

enhancement

All 14 comments

@gdams @sxa - Do we have designated test machines?

Very first Grinder attempt:
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/7211/
seems to be taking a long time on this step, will check tomorrow on whether its totally hung and times out
22:14:08 [echo] git clone --depth 1 -q -b dev https://github.com/AdoptOpenJDK/openjdk-jdk16.git

Notes:

  • request a naming convention for builds that is predictable (I think it will be helpful for redistributors also, as it will be easier to predict what to query through the API)
  • Grinder is pulling from upstream, need to check what is the correct API query to make to pull it from there (for SDK_RESOURCE=nightly|releases

Yay! Grinder/7211 (which was a quick test BUILD_LIST=openjdk, TARGET=jdk_math) passed!

Next up:

sanity.system did fail as expected (in compiling native tests since currently native makefiles require platform additions), will prep an STF PR to make appropriate updates

22:59:11  setup-native-build-command:
22:59:11       [echo] building natives for java_platform linux_x86-64
22:59:11  
22:59:11  build-natives-windows:
22:59:11  
22:59:11  build-natives-unix:
22:59:11       [exec] make[2]: Entering directory '/home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/src/tests/com.test.jlink/native'
22:59:11       [exec] mkdir -p /home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/bin/linux_x86-64
22:59:11       [exec] chmod 755 /home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/bin/linux_x86-64
22:59:11       [exec] mkdir -p /home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/linux_x86-64
22:59:11       [exec] chmod 755 /home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/linux_x86-64
22:59:11       [exec] gcc -D_JNI_IMPLEMENTATION_ -D_TRIVIAL_AGENT -O0 -g3 -pedantic -c -Wall -std=c99 -fPIC -fno-omit-frame-pointer -static-libgcc -m64 -o /home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/linux_x86-64/JniTest.o -I. -I/home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib -I/home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/include/linux -I/home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/include -I/usr/include JniTest.c
22:59:11       [exec] make[2]: Leaving directory '/home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/src/tests/com.test.jlink/native'
22:59:11       [exec] makefile:252: JAVA_EXECUTABLE set to /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/bin/java/
22:59:11       [exec] In file included from /home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/adoptopenjdk_test_modularity_jlink_JniTest.h:2,
22:59:11       [exec]                  from JniTest.c:17:
22:59:11       [exec] /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/include/jni.h:39:10: fatal error: stdio.h: No such file or directory
22:59:11       [exec]    39 | #include <stdio.h>
22:59:11       [exec]       |          ^~~~~~~~~
22:59:11       [exec] compilation terminated.
22:59:11       [exec] make[2]: *** [makefile:283: /home/jenkins/workspace/Grinder/openjdk-tests/system/openjdk-systemtest/openjdk.test.modularity/bin/tests/com.test.jlink/native/lib/linux_x86-64/JniTest.o] Error 1
22:59:11  
22:59:11  BUILD FAILED

re: https://github.com/AdoptOpenJDK/openjdk-tests/issues/2223#issuecomment-784734949 - will wait on https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/413 (and related: https://github.com/AdoptOpenJDK/openjdk-systemtest/pull/415) before making changes to support system tests for new platforms.

Reopen to verify we can compile and run system test material. On recent Grinders, looked like the machines/containers were missing a Perl module (that for other distros comes with core Perl install).

@smlambert Can you paste the error here so that I can have a look without having to dig up the Grinder?

I've just triggered https://ci.adoptopenjdk.net/job/Grinder/7839/console based on the "Rerun in Grinder" link on https://ci.adoptopenjdk.net/job/Test_openjdk16_hs_sanity.system_x86-64_alpine-linux/4/ - hopefully that helps :-)

Looking at the latest run of https://ci.adoptopenjdk.net/job/Test_openjdk16_hs_sanity.system_x86-64_alpine-linux/8/tapResults/, the system tests are now failing with the following common error:

64_alpine-linux/openjdk-tests/TKG/../../jvmtest/system/otherLoadTest/..//stf/stf.core/scripts/stf.pl at /usr/share/perl5/core_perl/diagnostics.pm line 259, <POD_DIAG> line 711.

The <POD_DIAG> line 711 part is very similar to the error we had seen before for Perl diagnostics module being missing on Linux Alpine.

Necessary dependencies are in. Once @sxa or somebody else has updated the existing containers, we can schedule some grinders.

Closing as complete (tests enabled in build pipelines).

Re-opening given: https://ci.adoptopenjdk.net/job/Test_openjdk16_hs_sanity.system_x86-64_alpine-linux/24/ all fail on test-docker-alpine311-x64-1 to compile due to:

couldn't find diagnostic data in /usr/share/perl5/core_perl/pods/perldiag.pod /home/jenkins/workspace/Test_openjdk16_hs_sanity.system_x86-64_alpine-linux/jvmtest/system/stf/stf.core/scripts/.. /home/jenkins/workspace/Test_openjdk16_hs_sanity.system_x86-64_alpine-linux/jvmtest/system/stf/stf.core/scripts /usr/local/lib/perl5/site_perl /usr/local/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl /home/jenkins/workspace/Test_openjdk16_hs_sanity.system_x86-64_alpine-linux/openjdk-tests/TKG/../../jvmtest/system/otherLoadTest/..//stf/stf.core/scripts/stf.pl at /usr/share/perl5/core_perl/diagnostics.pm line 259, <POD_DIAG> line 711.
Was this page helpful?
0 / 5 - 0 ratings