JDK-8139454 : java/lang/Math/WorstCaseTests.java crashes on Linux-amd64
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2015-10-12
  • Updated: 2017-11-20
  • Resolved: 2015-10-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b89Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
jdk9 b86 PIT testing, not a VM specific test crashes.
This is integration blocker

linux-amd64:
#  SIGILL (0x4) at pc=0x00007f77e8eabe70, pid=16108, tid=16134
#
# JRE version: Java(TM) SE Runtime Environment (9.0) (build 1.9.0-internal-fastdebug-20151008213403.amurillo.jdk9-hs-2015-10--b00)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-fastdebug-20151008213403.amurillo.jdk9-hs-2015-10--b00, compiled mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# v  ~StubRoutines::0x00007f77e8eabe70
#
# Core dump will be written. Default location: /export/local/aurora/sandbox/results/workDir/java/lang/Math/WorstCaseTests/core (max size 1 kB). To ensure a full core dump, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -Dtest.src=/export/local/aurora/CommonData/j2se_jdk/jdk/test/java/lang/Math -Dtest.src.path=/export/local/aurora/CommonData/j2se_jdk/jdk/test/java/lang/Math -Dtest.classes=/export/local/aurora/sandbox/results/workDir/classes/java/lang/Math -Dtest.class.path=/export/local/aurora/sandbox/results/workDir/classes/java/lang/Math -Dtest.vm.opts=-d64 -Dtest.tool.vm.opts=-J-d64 -Dtest.compiler.opts= -Dtest.java.opts=-Xcomp -d64 -server -Xcomp -Dtest.jdk=/export/local/aurora/CommonData/jdk -Dcompile.jdk=/export/local/aurora/CommonData/jdk -Dtest.timeout.factor=3.0 -Dtest.nativepath=/export/local/aurora/sandbox/JTREG_NATIVEPATH_LIBRARY_PREPARED -Xcomp -Xcomp -Djava.library.path=/export/local/aurora/sandbox/JTREG_NATIVEPATH_LIBRARY_PREPARED com.sun.javatest.regtest.agent.MainWrapper /export/local/aurora/sandbox/results/workDir/classes/java/lang/Math/WorstCaseTests.jta

Host: vmsqe-core2q-29, Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz, 4 cores, 3G, LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64"
Time: Sun Oct 11 00:20:39 2015 MSD elapsed time: 4 seconds (0d 0h 0m 4s)

---------------  T H R E A D  ---------------

Current thread (0x00007f77e4bff800):  JavaThread "MainThread" [_thread_in_Java, id=16134, stack(0x00007f77da0a1000,0x00007f77da1a2000)]

Stack: [0x00007f77da0a1000,0x00007f77da1a2000],  sp=0x00007f77da19fcc8,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~StubRoutines::0x00007f77e8eabe70
j  WorstCaseTests.main([Ljava/lang/String;)V+97986304
V  [libjvm.so+0xafe463]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x2323
V  [libjvm.so+0xff21c1]  Reflection::invoke(instanceKlassHandle, methodHandle, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0xc21
V  [libjvm.so+0xff2f6e]  Reflection::invoke_method(oop, Handle, objArrayHandle, Thread*)+0x33e
V  [libjvm.so+0xbfa67b]  JVM_InvokeMethod+0x27b
J 355  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007f77f0997814 [0x00007f77f09976a0+0x174]
J 354 C2 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007f77f09971bc [0x00007f77f09970a0+0x11c]
J 352 C2 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00007f77f0996dcc [0x00007f77f0996d00+0xcc]
J 342 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f77e954521c [0x00007f77e9544f80+0x29c]
J 1149 C1 com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V (373 bytes) @ 0x00007f77e973bf34 [0x00007f77e973afc0+0xf74]
J 1145 C1 java.lang.Thread.run()V (17 bytes) @ 0x00007f77e9739204 [0x00007f77e9739040+0x1c4]
v  ~StubRoutines::call_stub
V  [libjvm.so+0xafe463]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x2323
V  [libjvm.so+0xaff38c]  JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x83c
V  [libjvm.so+0xaffdd7]  JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0xb7
V  [libjvm.so+0xbdb544]  thread_entry(JavaThread*, Thread*)+0xc4
V  [libjvm.so+0x1140b44]  JavaThread::thread_main_inner()+0x1d4
V  [libjvm.so+0x1140e68]  JavaThread::run()+0x298
V  [libjvm.so+0xef5b1a]  java_start(Thread*)+0xca
C  [libpthread.so.0+0x75f0]  start_thread+0xd0


siginfo: si_signo: 4 (SIGILL), si_code: 2 (ILL_ILLOPN), si_addr: 0x00007f77e8eabe70


linux-aarch64:
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000000000000, pid=22399, tid=22433
#
# JRE version: Java(TM) SE Runtime Environment (9.0) (build 1.9.0-internal-20151008213403.amurillo.jdk9-hs-2015-10--b00)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-20151008213403.amurillo.jdk9-hs-2015-10--b00, compiled mode, compressed oops, g1 gc, linux-aarch64)
# Problematic frame:
# C  0x0000000000000000
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %P" (or dumping to /export/local/aurora/sandbox/results/workDir/java/lang/Math/WorstCaseTests/core.22399)
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -Dtest.src=/export/local/aurora/CommonData/j2se_jdk/jdk/test/java/lang/Math -Dtest.src.path=/export/local/aurora/CommonData/j2se_jdk/jdk/test/java/lang/Math -Dtest.classes=/export/local/aurora/sandbox/results/workDir/classes/java/lang/Math -Dtest.class.path=/export/local/aurora/sandbox/results/workDir/classes/java/lang/Math -Dtest.vm.opts= -Dtest.tool.vm.opts= -Dtest.compiler.opts= -Dtest.java.opts=-Xcomp -server -Xcomp -Dtest.jdk=/export/local/aurora/CommonData/jdk -Dcompile.jdk=/export/local/aurora/CommonData/jdk -Dtest.timeout.factor=3.0 -Dtest.nativepath=/export/local/aurora/sandbox/JTREG_NATIVEPATH_LIBRARY_PREPARED -Xcomp -Xcomp -Djava.library.path=/export/local/aurora/sandbox/JTREG_NATIVEPATH_LIBRARY_PREPARED com.sun.javatest.regtest.agent.MainWrapper /export/local/aurora/sandbox/results/workDir/classes/java/lang/Math/WorstCaseTests.jta

Host: AArch64 Processor rev 0 (aarch64), 8 cores, 15G, Ubuntu 14.04.3 LTS
Time: Fri Oct  9 14:09:33 2015 PDT elapsed time: 6 seconds (0d 0h 0m 6s)
Comments
The arm crash should be fixed by: JDK-8139259
12-10-2015

I've sent a request to intel guys to take a look at that. Basically, on x86 we crash because we're using the encoding of pextrw that is available only on sse 4.1, but the dexp stub is predicated by just the sse2 check. The problem on arm is because UseSSE is a global flag and is not set to zero. Instead of checking for UseSSE in the shared code (c2 in this case) we should check if we have stub, thus delegating the architecture check to the arch-specific code generator.
12-10-2015

This looks to be incorrect instructions; test run with these options (as seen from hs-err summary): Dtest.java.opts=-Xcomp -server -Xcomp -Dtest.jdk=/export/local/aurora/CommonData/jdk -Dcompile.jdk=/export/local/aurora/CommonData/jdk - Thus transferring to compiler for initial triage
12-10-2015