Execution problems with Atomic Operations on OpenJDK10 for ARM5 Soft Float

bren at juanantonio.info bren at juanantonio.info
Thu Apr 5 01:26:10 UTC 2018


Good night David,

It is the first time that I report a Bug on OpenJDK and I didn´t receive 
any notification so I didn´t know the status of the Issue that I 
reported.

Many thanks with the link about the Platforms supported:
http://www.oracle.com/technetwork/java/javase/documentation/jdk10certconfig-4417031.html

We will try to do Compilation with the solution.

--- a/src/hotspot/cpu/arm/vm_version_arm_32.cpp
+++ b/src/hotspot/cpu/arm/vm_version_arm_32.cpp
@@ -298,6 +298,15 @@
      FLAG_SET_DEFAULT(UseUnalignedAccesses, false);
    }

+ if (arm_arch() == 5) {
+ if (FLAG_IS_DEFAULT(AssumeMP)) {
+ FLAG_SET_DEFAULT(AssumeMP, false);
+ else if (AssumeMP) {
+ warning("AssumeMP can not be true for ARMv5 as there is only 
uniprocessor support");
+ FLAG_SET_DEFAULT(AssumeMP, false);
+ }
+ }
+
    _is_initialized = true;
  }

Runtime workaround: java -XX:-AssumeMP

In our case, I would like to continue maintaining this support for the 
Device.
What is the advice that you could give us?
What is AssumeMP?

For education, this device is pretty interesting for the whole Java 
community, this is the reason.

I will inform with the results.

Many thanks in advance.

Cheers

Juan Antonio

El 2018-04-05 00:12, David Holmes escribió:
> Hi,
> 
> This was already reported as:
> 
> https://bugs.openjdk.java.net/browse/JDK-8200580
> 
> to which I have responded and closed the bug as this is not a
> supported platform.
> 
> As per the bug report this may be due to the change to AssumeMP to be
> true, but there is no MP support for ARMv5.
> 
> David
> 
> On 4/04/2018 8:29 PM, bren at juanantonio.info wrote:
>> Good morning,
>> 
>> Mi name is Juan Antonio Breña Moral, I am developing a set of Java 
>> libraries for Lego Mindstorms EV3, an ARM5 robotics device and 
>> recently, we build OpenJDK 9 with success but with OpenJDK 10, we have 
>> found some problems when we execute some Java programs.
>> 
>> Repository to build OpenJDK 9/10 for ARM5 Soft Float:
>> https://github.com/ev3dev-lang-java/openjdk-ev3
>> 
>> To test the JVM, I am using the following repo to test the VM:
>> https://github.com/ev3dev-lang-java/vmbenchmarks
>> 
>> And this is the output with the error:
>> 
>> robot at ev3dev:~$ java -jar benchmarks.jar -f 1
>> WARNING: An illegal reflective access operation has occurred
>> WARNING: Illegal reflective access by org.openjdk.jmh.util.Utils 
>> (file:/home/robot/benchmarks.jar) to field java.io.Console.cs
>> WARNING: Please consider reporting this to the maintainers of 
>> org.openjdk.jmh.util.Utils
>> WARNING: Use --illegal-access=warn to enable warnings of further 
>> illegal reflective access operations
>> WARNING: All illegal access operations will be denied in a future 
>> release
>> =============== DEBUG MESSAGE: Atomic load(jlong) unsupported on this 
>> platform ================
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> =============== DEBUG MESSAGE: Atomic load(jlong) unsupported on this 
>> platform ================
>> 
>> [thread 4430 also had an error]
>> [error occurred during error reporting ((null)), id 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing fatal error message), 
>> id 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing type of error), id 
>> 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing stack bounds), id 
>> 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing native stack), id 
>> 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing Java stack), id 
>> 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing target Java thread 
>> stack), id 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing siginfo), id 
>> 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (CDS archive access warning), 
>> id 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [error occurred during error reporting (printing register info), id 
>> 0xe0000000]
>> 
>> =============== DEBUG MESSAGE: Atomic store(jlong) unsupported on this 
>> platform ================
>> 
>> 
>> [Too many errors, abort]
>> Aborted
>> 
>> I think that in OpenJDK10 changed something in compare to OpenJDK9 in 
>> relation to ARM5 support.
>> 
>> Any idea?
>> 
>> Many thanks in advance.
>> 
>> Cheers
>> 
>> Juan Antonio
>> 


More information about the build-dev mailing list