JDK-8039975 : SIGSEGV in MethodData::next_data(ProfileData*)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8,9
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2014-04-10
  • Updated: 2019-09-13
  • Resolved: 2014-04-25
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 8 JDK 9
8u20 b12Fixed 9Fixed
Related Reports
Relates :  
Relates :  
Description
compiler/types/correctness/OffTest.java crashes VM with SIGSEGV:
#
#  SIGSEGV (0xb) at pc=0x00007f86e078522b, pid=22727, tid=140216861116160
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b132) (build 1.8.0-b132)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b62-internal-fastdebug mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0xcc622b]  MethodData::next_data(ProfileData*) const+0x1b
#

TypeProfiling is turned on with -XX:TypeProfileLevel=010

Test failed on the next test case:
hierarchies.DefaultMethodInterface$Hierarchy :: ArrayCopy # RETURN @ MethodHandleDelegate # execution.TypeConflict
This means that we executed return type profiling test that exercises System.arraycopy usage in the method invoked with MethodHandles.invoke.
Comments
This test failed in the 2014.04.18 RT_Baseline nightly: compiler/types/correctness/OffTest.java This test failed the following assertion on X86 configs (5 failures): # Internal Error (.../src/share/vm/interpreter/interpreterRuntime.cpp:935), pid=17393, tid=2 # assert(mdp == mdp2) failed: wrong mdp Here is a stack snippet: --------------- T H R E A D --------------- Current thread (0x0000000000422000): JavaThread "main" [_thread_in_Java, id=2, stack(0xfffffd7ffb8df000,0xfffffd7ffb9df000)] Stack: [0xfffffd7ffb8df000,0xfffffd7ffb9df000], sp=0xfffffd7ffb9db7e0, free space=1009k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x29f6750] void VMError::report(outputStream*)+0x92c;; __1cHVMErrorGreport6MpnMoutputStream__v_+0x92c V [libjvm.so+0x29f7d15] void VMError::report_and_die()+0x579;; __1cHVMErrorOreport_and_die6M_v_+0x579 V [libjvm.so+0x10738a7] void report_vm_error(const char*,int,const char*,const char*)+0x55f;; __1cPreport_vm_error6Fpkci11_v_+0x55f V [libjvm.so+0x178d533] void InterpreterRuntime::verify_mdp(Method*,unsigned char*,unsigned char*)+0x59b;; __1cSInterpreterRuntimeKverify_mdp6FpnGMethod_pC3_v_+0x59b j java.lang.invoke.MethodType$ConcurrentWeakInternSet.get(Ljava/lang/Object;)Ljava/lang/Object;+28 J 74 C2 java.lang.invoke.MethodType.makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType; (66 bytes) @ 0xfffffd7febbe0c34 [0xfffffd7febbe0a40+0x1f4]
21-04-2014

ILW=Crash, for some values on TypeProfileChecker, none=HMH=P1
11-04-2014

Log and hs_err for the previous crash in InterpreterRuntime::verify_mdp(Method*, unsigned char*, unsigned char*)+0x24d
10-04-2014

More: # # SIGSEGV (0xb) at pc=0x00007f16289eb94d, pid=11274, tid=139733173868288 # # JRE version: Java(TM) SE Runtime Environment (8.0_20-b09) (build 1.8.0_20-ea-fastdebug-b09) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.20-b09-fastdebug mixed mode linux-amd64 compressed oops) # Problematic frame: # V [libjvm.so+0x98194d] InterpreterRuntime::verify_mdp(Method*, unsigned char*, unsigned char*)+0x24d # The same test with -XX:TypeProfileLevel=220 -XX:+UseTypeSpeculation CorrectnessTest ARGUMENTS options ran
10-04-2014

See tests at http://cr.openjdk.java.net/~iignatyev/ppunegov/8038418/webrev.03/
10-04-2014

On fastdebug the same test with -XX:TypeProfileLevel=201 -XX:-UseTypeSpeculation: # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/HUDSON/workspace/8-2-build-linux-amd64/jdk8u20/2677/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp:3191), pid=9713, tid=139968759338752 # assert(MethodData::profile_parameters() && x->inlined() && ((code == Bytecodes::_invokedynamic && n <= 1) || (code == Bytecodes::_invokehandle && n <= 2))) failed: only at JSR292 bytecodes # # JRE version: Java(TM) SE Runtime Environment (8.0_20-b09) (build 1.8.0_20-ea-fastdebug-b09) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.20-b09-fastdebug mixed mode linux-amd64 compressed oops)
10-04-2014