[aarch64-port-dev ] Errors in aarch64 C1 caught by the Mauve test suite

Andy Johnson andy.johnson at linaro.org
Fri Jul 26 12:35:13 PDT 2013


I have been running the Mauve test suite on openembedded using the ARM
Foundation_v8 model and the aarch64 port of OpenJDK8.  With a few
exceptions, the results from running the template interpreter (-Xint) match
those from the baseline xi6-64 OpenJDK8 port.  However, I am getting a
number of failures using -Xcomp (C! compiler) that I don't get using
-Xint.  I am excluding test failures that are generic to Mauve (i.e. they
fail on all OpenJDK8 ports, including x86-64).

FAIL: java.io.File.WriteMethods
  line 68:  [3] -- boolean passed to check was false
FAIL: java.io.File.canWrite
  line 53: dir.canWrite() after SetReadOnly() [1] -- boolean passed to
check was false
  line 69: creating file in read only dir [1] -- boolean passed to check
was false
  line 142: Write to file after setReadOnly() [1] -- boolean passed to
check was false
FAIL: java.io.File.ReadMethods
  line 69:  [3] -- boolean passed to check was false
  [Note: the three java.io tests also fail with -Xint but do not fail on
the x86-64 baseline]
FAIL: java.lang.Float.FloatTest
  line 137: test_toString - 8 [1] -- boolean passed to check was false
  line 227: test_equals - 8 [1] -- boolean passed to check was false
  line 475: test_neg - 2 [1] -- forced fail
FAIL: java.lang.Double.DoubleTest
  line 171: test_toString - 8 [1] -- boolean passed to check was false
  line 268: test_equals CYGNUS: Double.equals - 8 [1] -- boolean passed to
check was false
  line 587: test_neg - 2 [1] -- forced fail
Expected -0.0, got: 0.0
FAIL: java.lang.Math.MathTest
  line 127: test_atan2 - 5 [1] -- boolean passed to check was false
FAIL: java.math.BigDecimal.DiagBigDecimal
  Internal Error (assembler_aarch64.hpp:238), pid=1246, tid=547825324560
  guarantee(val < (1U << nbits)) failed: Field too big for insn
FAIL: java.net.DatagramSocket.security
  Test timed out.  Use -timeout [millis] option to change the timeout value.
FAIL: java.net.MulticastSocket.MulticastSocketTest
  SIGSEGV: J java.net.Inet4Address.isMulticastAddress()Z
FAIL: java.nio.channels.SocketChannel.select
  line 103: Select on accept has failed [1] -- forced fail
FFAIL: java.util.ArrayList.AcuniaArrayListTest
  SIGSEGV: J java.util.Vector.toArray()[Ljava/lang/Object;
FAIL: java.util.Scanner.BigDecimalInteger
  PASS on individual run
  PASS on java.util.Scanner run
  FAIL: InputMismatchException on java.util run
  line 88: hasNextBigDecimal() [1] -- boolean passed to check was
false
java.util.InputMismatchException

        at
java.util.Scanner.throwFor(Scanner.java:909)
        at
java.util.Scanner.next(Scanner.java:1530)
        at
java.util.Scanner.nextBigDecimal(Scanner.java:2624)
        at
gnu.testlet.java.util.Scanner.BigDecimalInteger.doTest(BigDecimalInte
        at
gnu.testlet.java.util.Scanner.Base.test(Base.java:67)
        at
RunnerProcess.runtest(RunnerProcess.java:425)
        at
RunnerProcess.runAndReport(RunnerProcess.java:480)
        at
RunnerProcess.main(RunnerProcess.java:273)
  line -1: java.util.InputMismatchException [1] -- forced fail
FAIL: java.util.Scanner.DoubleFloat
  PASS on individual run
  PASS on java.util.Scanner run
  FAIL: not double/not float forced failures on java.util run
  line 92: #0 : not double... (0.03426922393704557) [1] -- forced
fail
  line 104: #0 : not float... (-0.4099192) [1] -- forced fail
  ... (above 2 lines repeated 9999 times with different values)
FAIL: java.util.concurrent.CopyOnWriteArrayList.AddAllTest
  SIGSEGV: J java.util.ArrayList.toArray()[Ljava/lang/Object;
FAIL: java.util.LinkedList.AcuniaLinkedListTest
  SIGSEGV: J java.util.Vector.toArray()[Ljava/lang/Object;
FAIL: java.util.AbstractCollection.AcuniaAbstractCollectionTest
  SIGSEGV: J java.util.Vector.iterator()Ljava/util/Iterator;
FAIL: java.util.Collection.Test
  SIGSEGV: J
gnu.testlet.java.util.Collection.Test$1.compareTo(Ljava/lang/Object;)I
  SIGSEGV: v ~BufferBlob::vtable chunks on java.util run
FAIL: java.util.Collections.max
  SIGSEGV: J java.util.ArrayList.iterator()Ljava/util/Iterator;
FAIL: java.util.Collections.reverse
  SIGSEGV: J java.util.ArrayList.size()I
FAIL: java.util.Collections.copy
  SIGSEGV: J java.util.ArrayList.size()I
FAIL: java.util.Collections.fill
  SIGSEGV: J java.util.ArrayList.size()I
FAIL: java.util.Collections.min
  SIGSEGV: J java.util.ArrayList.iterator()Ljava/util/Iterator;
FAIL: java.util.Collections.sort
  SIGSEGV: J java.lang.String.compareTo(Ljava/lang/Object;)I
FAIL: java.util.Calendar.getInstance
  SIGSEGV: v ~BufferBlob::vtable chunks
FAIL: java.util.Hashtable.NullValue
  PASS on individual run
  SIGSEGV: v ~BufferBlob::vtable chunks on java.util.Hashtable run
  SIGSEGV: v ~BufferBlob::vtable chunks on java.util run
FAIL: java.util.Hashtable.AcuniaHashtableTest
  SIGSEGV: J java.util.Hashtable.size()I
FAIL: java.util.LinkedHashMap.LinkedHashMapTest
  SIGSEGV: v ~BufferBlob::vtable chunks
FAIL: java.util.HashMap.AcuniaHashMapTest
  SIGSEGV: v ~BufferBlob::vtable chunks
FAIL: java.util.Currency.getInstance
  PASS on indivual run
  SIGSEGV: v ~BufferBlob::vtable chunks on java.util.Currency run
  SIGSEGV: v ~BufferBlob::vtable chunks on java.util run
FAIL: java.util.Currency.Constructors
  PASS on indivual run
  SIGSEGV: v ~BufferBlob::vtable chunks on java.util.Currency run
  SIGSEGV: v ~BufferBlob::vtable chunks on java.util run
FAIL: java.beans.beancontext.BeanContextSupport.toArray
  Runtime1::entry_for(17) returned unimplemented entry point
  =============== DEBUG MESSAGE: should not reach here ================
  SIGILL: v ~RuntimeStub::throw_array_store_exception Runtime1 stub

For each of the SIGSEGV errors, I have the corresponding hs_err_pidxxxx.log
files, which I can provide or post as needed.

I am also seeing a large discrepancy between -Xint and -Xcomp on both the
java.awt tests (73 additional failures) and the javax.swing tests (32
additional failures).  I will be filing a more detailed report on these
later.



More information about the aarch64-port-dev mailing list