-
Notifications
You must be signed in to change notification settings - Fork 729
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
s390x openjdk8 system tests failing with java.lang.NoSuchMethodError: java/nio/ByteBuffer.position(I)Ljava/nio/ByteBuffer; and java/nio/FloatBuffer.position(I)Ljava/nio/FloatBuffer; #19888
Comments
A similar
openjdk8_j9_special.system_x86-64_linux
|
Given the intermittent nature, I suspect JIT but not sure. Or maybe a machine/file system/network problem. |
The methods are inherited from java.nio.Buffer |
I think the |
There's something fishy here. I was able to produce a core file with a grinder run specifying
in Using
Looking at the j9method and bytecodes for
Note the signature of the call to I tried building and running the test locally, I examined the class file for
I tried another internal grinder run, requesting that the workspace be preserved. I signed into the machine, and examined the class file for
Looking at the console log to understand where
Looking at the date of the file, I see this:
I'm wondering where the For now, I don't think this is a JIT problem. |
@llxia can someone take a look pls. |
A similar
|
This kind of errors out there are normally when a code is compiled with higher version then 8 with -source 8 and -target 8. Once one compiles it with --release 8, the signatures should be correct. Since Java 9, the position(integer), flip, rewind, ... methods have overrides returning ByteBuffer in the ByteBuffer class. Until 8, they are inherited from Buffer and thus are returning Buffer. It means that SOMETHING in the chain is built with java >= 9 and not using --release 8. If the --release 8 is not possible, the code itself can cast the ByteBuffer to Buffer in the places those methods are called and it will work with java 8 after. |
@llxia reminder |
Sorry, this slipped off my radar. |
It looks like Temurin JDK8 is used.
@annaibm could you confirm JDK8 was used for building |
@annaibm confirmed that JDK8 is used to compile mauve (we did not use a higher version of Java to compile)
Currently, we are trying to use JDK17 with --release 8 option to see if it works. If you have a better suggestion, please let us know. |
Ok, so the analysis of this problem is following: |
So, that pull request basically fixes the build of the mauve.jar, so that it works with the java 8. It is hanging in eclipsefdn/eca. I am not sure whether we (SUSE) have ever signed something like this. I also don't care to be credited, so anybody who has the right paperwork on file can submit that patch. I transfer automatically the copyright to anybody brave enough to get it integrated. |
Now for the record: this is one of the most annoying improvements of Java 9. The release=8 should solve it, but it hides from the user many of apis that were considered internal or deprecated, so it is not always possible to use it. When it is only one file that is problematic and one is lucky not to have any cross-dependencies between this file and the rest, one can do what I did. But this is not always the case. In that situation, there is still a fix that works with Java 8 and Java 9+, but it requires source changes. At any invocation of one of the following methods: |
- Remove tools.jar dependency download into testDependency dir in system. - tools.jar was previously obtained from 'https://ci.adoptium.net/job/systemtest.getDependency/lastSuccessfulBuild/artifact/systemtest_prereqs/tools/tools.jar'. - tools.jar locaton is updated to be taken from the SDK in STF. related: eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
- tools.jar is to be taken from SDK related:eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
- Update the build setup to use JDK17 with the `--release 8` option for compiling mauve tests, ensuring compatibility with Java 8. - Test is done by cloning the `aqa-systemtest` repository using the following command: `git clone --branch master --single-branch https://github.com/fridrich/aqa-systemtest.git` related: eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
Update STF to use tools.jar from the java.home/lib directory related:eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
- Update the build setup to use JDK17 for building system test-related jars related: eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
- Remove the download of tools.jar into testDependency dir in the system - The tools.jar locaton is updated to be taken from java.home lib in STF related: eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
- Update the build setup to use JDK17 for building system test-related jars related: eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
Update STF to use tools.jar from the java.home/lib directory related:eclipse-openj9/openj9#19888 Signed-off-by: Anna Babu Palathingal <[email protected]>
Issue Number: 19888 |
1 similar comment
Issue Number: 19888 |
The failing tests:
MiniMix_5m_0
andMiniMix_10m_1
inopenjdk8_j9_extended.system_s390x_linux_jit
MauveSingleThrdLoad_J9_5m_0
,MauveSingleInvocLoad_J9_5m_1
, andMauveMultiThrdLoad_5m_0
, inopenjdk8_j9_sanity.system_s390x_linux_jit
These are in the JITServer nightly tests, but a 100x grinder of
MiniMix_5m_0,MiniMix_5m_1
without JITServer still produced failures (20/200).The earliest failures I can find in the JITServer nightly tests in the two suites are:
https://hyc-runtimes-jenkins.swg-devops.com/job/Test_openjdk8_j9_extended.system_s390x_linux_jit_Personal/1062/
https://hyc-runtimes-jenkins.swg-devops.com/job/Test_openjdk8_j9_sanity.system_s390x_linux_jit_Personal/1065/
The commit ranges between the earliest failures and the previous successes are 69cba86...d946965 and eclipse-omr/omr@7709363...38148ea.
Console log for
MauveSingleThrdLoad_J9_5m_0
in the earlysanity.system
failure above:The text was updated successfully, but these errors were encountered: