Temurin-build: OpenJDK 10 sap SDK can't find CORBA class libraries

Created on 20 Mar 2018  路  14Comments  路  Source: adoptium/temurin-build

Overview
openjdk-systemtest fails to compile with OpenJDK 10 sap build because it can't find org.omg.CORBA.* classes. Locally running javap on the SDK using a CORBA class reveals same behavior (e.g. package org.omg.CORBA.portable does not exist). It seems that OpenJDK needs to add the appropriate module to their build (java.corba?).

Build link
https://ci.adoptopenjdk.net/view/System%20tests/job/openjdk10_sap_systemtest_x86-64_linux/9/console

Note
The error only happens on Adopt OpenJDK 10 SAP sdk. It works on other OpenJDK 10 sdks (e.g. hotspot).

Java version output

openjdk version "11-adoptopenjdk" 2018-09-18
OpenJDK Runtime Environment (build 11-adoptopenjdk+0-adhoc.jenkins.openjdk)
OpenJDK 64-Bit Server VM (build 11-adoptopenjdk+0-adhoc.jenkins.openjdk, mixed mode)

SDK build

https://ci.adoptopenjdk.net/job/openjdk10_sap_build_x86-64_linux/

bug

All 14 comments

Corba is removed in 11 but should be there for 10. I'll ping Volker.

Hi,
I'm not sure how to reproduce this error?
I've followed the instructions at https://github.com/AdoptOpenJDK/openjdk-systemtest and set JAVA_HOME to a SapMachine 10-ea+46-sapmachine-2 downloaded from https://sap.github.io/SapMachine/
I can successfully build the "openjdk-systemtest" (step 6 in the readme) but when I execute the tests (i.e. "make test") I get the following error:

testStarted : testStress(net.adoptopenjdk.test.concurrent.ConcurrentSkipListMapTest)
testFailure: testStress(net.adoptopenjdk.test.concurrent.ConcurrentSkipListMapTest): null
java.util.NoSuchElementException
        at java.base/java.util.concurrent.ConcurrentSkipListMap$KeyIterator.next(ConcurrentSkipListMap.java:2135)
        at net.adoptopenjdk.test.concurrent.ConcurrentSkipListMapTest.testStress(ConcurrentSkipListMapTest.java:343)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at junit.framework.TestCase.runTest(TestCase.java:176)
        at junit.framework.TestCase.runBare(TestCase.java:141)
        at junit.framework.TestResult$1.protect(TestResult.java:122)
        at junit.framework.TestResult.runProtected(TestResult.java:142)
        at junit.framework.TestResult.run(TestResult.java:125)
        at junit.framework.TestCase.run(TestCase.java:129)
        at junit.framework.TestSuite.runTest(TestSuite.java:252)
        at junit.framework.TestSuite.run(TestSuite.java:247)
        at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
        at org.junit.runners.Suite.runChild(Suite.java:128)
        at org.junit.runners.Suite.runChild(Suite.java:27)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at net.adoptopenjdk.loadTest.adaptors.JUnitAdaptor.executeTest(JUnitAdaptor.java:129)
        at net.adoptopenjdk.loadTest.LoadTestRunner$2.run(LoadTestRunner.java:177)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:844)
testFinished: testStress(net.adoptopenjdk.test.concurrent.ConcurrentSkipListMapTest)

JUnit Test Results for: net.adoptopenjdk.test.concurrent.ConcurrentSkipListMapTest
  Ran    : 2
  Passed : 1
  Failed : 1
  Ignored: 0
  Result : FAILED
<<<

The same problem happens with a vanilla OpenJDK 10 as well.

Can you please advice how I can reproduce the problem?

Hi Volker,
The issue is seen during the building phase of system tests, where it tries to build the Mauve classes and fails as CORBA classes are not found. From your comment above, it appears that you were able to successfully build the sytstem-test source-- which means you have already gone past the point where the failure occurs (i.o.t., the test failure you reported is unrelated to the issue here).

Could you please post the build output that you saw while building systemtest with your SDK?

How is the SDK you used different than the SDK used in Adopt where the failure is seen? (We are using: https://ci.adoptopenjdk.net/job/openjdk10_sap_build_x86-64_linux/lastSuccessfulBuild/artifact/OpenJDK10_x64_Linux_201816032300.tar.gz).

I took a closer look at the log at https://ci.adoptopenjdk.net/view/System%20tests/job/openjdk10_sap_systemtest_x86-64_linux/9/consoleFull and found:

00:42:43      [echo] Running /home/jenkins/workspace/openjdk10_sap_systemtest_x86-64_linux/openjdkbinary/j2sdk-image/bin/../bin/java -XshowSettings:properties -version to determine java platform
00:42:44 [echoproperties] #Ant properties
00:42:44 [echoproperties] #Fri Mar 16 23:42:43 UTC 2018
...
00:42:44 [echoproperties] java9.java.vm.specification.version=11
00:42:44 [echoproperties] java9.sun.arch.data.model=64
00:42:44 [echoproperties] java9.java.specification.version=11

So it seems you are building our "sapmachine" branch which corresponds to "jdk/jdk" and which is the OpenJDK 11 development branch. It obviously has no Corba any more.

If you want to build SapMachine 10 you have to take the "sapmachine10" branch which derives from jdk/jdk10.

That said, I'd be still interested in how to run your "openjdk-systemtest" and why I get the errors described in my previous answer.

So it seems you are building our "sapmachine" branch which corresponds to "jdk/jdk" and which is the OpenJDK 11 development branch. It obviously has no Corba any more.

@gdams - Can this be fixed?

What do you mean? It's up to you what you build :)
If you want to build SapMachine 10 you just have to clone the right branch.

Java SE 11 will definitely be delivered without Java EE and CORBA Modules (see "JEP 320: Remove the Java EE and CORBA Modules" at http://openjdk.java.net/jeps/320).

The JEP contains some information on workarounds for the removed packages. You'll basically have to download them yourself and make them available in the classpath somehow...

The script is pointing at the sapmachine branch, I've updated my pipelines pull request to fix a doc/comment bug, but it should be pulling from the right place. I'll check the jenkins job now.

@simonis What branch do you want us to pull from instead?

As I wrote, the "sapmachine10" branch is for Java 10 and the "sapmachine" branch for the development branch which is currently Java 11. When jdk/jdk11 will be branched from jdk/jdk we will create "sapmachine11" to track it. The "sapmachine" branch will always mirror "jdk/jdk".

As it seems that you test pipline is currently not prepared for Java 11 it probably would make most sense to build and test the "sapmachine10" branch.

@simonis Ah sorry, I thought we were building binaries on your (SAP's) behalf so to speak. We can swap to the 10 branch.

Cool thanks!
This brings me back to my initial question :)
Even with 10 (both SapMachine and OpenJDK) I see the errors I've reported in my first message. Don't you see them with your builds?
What'S the problem? Is it a test problem or a problem with the JDK?

Hi Volker - closing this and opened up your issue at #277

Thanks for opening a separate PR, Martijn.

Hi Volker, I never saw this issue before. I will reproduce it in my local and provide updates in #277.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mstoodle picture mstoodle  路  3Comments

a-roberts picture a-roberts  路  6Comments

sxa picture sxa  路  4Comments

nebhale picture nebhale  路  7Comments

karianna picture karianna  路  7Comments