JDK-8027751 : C1 crashes in Weblogic with G1 enabled
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs25
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2013-11-04
  • Updated: 2014-02-11
  • Resolved: 2013-11-05
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 7 JDK 8 Other
7u60Fixed 8Fixed hs25,port-stage-ppc-aixFixed
Related Reports
Relates :  
Relates :  
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/export/iggy/hotspot-comp/src/share/vm/c1/c1_LIR.hpp:419), pid=12527, tid=76
#  assert(is_single_cpu() && !is_virtual()) failed: type check
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b112) (build 1.8.0-ea-b112)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b57-internal-fastdebug mixed mode solaris-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

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

Current thread (0x0000000000c6c800):  JavaThread "C1 CompilerThread14" daemon [_thread_in_native, id=76, stack(0xfffffd7fa48fb000,0xfffffd7fa49fb000)]

Stack: [0xfffffd7fa48fb000,0xfffffd7fa49fb000],  sp=0xfffffd7fa49f8180,  free space=1012k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x2c286d8]  void VMError::report(outputStream*)+0x92c
V  [libjvm.so+0x2c29c14]  void VMError::report_and_die()+0x56c
V  [libjvm.so+0x131d1db]  void report_vm_error(const char*,int,const char*,const char*)+0x55f
V  [libjvm.so+0xdc4e96]  RegisterImpl*LIR_OprDesc::as_register()const+0x6ea
V  [libjvm.so+0xe1cd20]  void LIR_Assembler::logic_op(LIR_Code,LIR_OprDesc*,LIR_OprDesc*,LIR_OprDesc*)+0x264
V  [libjvm.so+0xdfeb60]  void LIR_Assembler::emit_op2(LIR_Op2*)+0xb8
V  [libjvm.so+0xdfb868]  void LIR_Assembler::emit_code(BlockList*)+0x478
V  [libjvm.so+0xd33907]  int Compilation::emit_code_body()+0x20f
V  [libjvm.so+0xd34283]  int Compilation::compile_java_method()+0x81b
V  [libjvm.so+0xd3630f]  Compilation::Compilation #Nvariant 1(AbstractCompiler*,ciEnv*,ciMethod*,int,BufferBlob*)+0x5c3
V  [libjvm.so+0xd38d0b]  void Compiler::compile_method(ciEnv*,ciMethod*,int)+0x1cf
V  [libjvm.so+0x11f2b65]  void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4e1
V  [libjvm.so+0x11f2105]  void CompileBroker::compiler_thread_loop()+0x3c5
V  [libjvm.so+0x2a8cd35]  void JavaThread::thread_main_inner()+0x521
V  [libjvm.so+0x2a8c44b]  void JavaThread::run()+0x84f
V  [libjvm.so+0x25f64da]  java_start+0x1ce
C  [libc.so.1+0x12257d]  _thrp_setup+0xa5
C  [libc.so.1+0x122820]  _lwp_start+0x0

Comments
test JT_HS:compiler/6849574/Test.java is also affected ----------messages:(3/89)---------- command: build Test reason: Named class compiled on demand elapsed time (seconds): 4.829 result: Passed. Build successful #section:compile ----------messages:(3/191)---------- command: compile -XDignore.symbol.file=true /home/iignatye/ws/hotspot-comp/tip/test/compiler/6849574/Test.java reason: .class file out of date or does not exist elapsed time (seconds): 4.828 ----------System.out:(0/0)---------- ----------System.err:(2/161)---------- Note: /home/iignatye/ws/hotspot-comp/tip/test/compiler/6849574/Test.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. result: Passed. Compilation successful #section:main ----------messages:(3/204)---------- command: main -XX:+UnlockDiagnosticVMOptions -XX:+VerifyBeforeGC Test reason: User specified action: run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+VerifyBeforeGC Test elapsed time (seconds): 1.17 ----------System.out:(23/1151)---------- # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/c1_LIR.hpp:419 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/opt/jprt/T/P1/152837.amurillo/s/src/share/vm/c1/c1_LIR.hpp:419), pid=12878, tid=139671937423104 # assert(is_single_cpu() && !is_virtual()) failed: type check # # JRE version: Java(TM) SE Runtime Environment (8.0-b114) (build 1.8.0-ea-fastdebug-b114) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b57-internal-201311011528.amurillo.hs25-b57-snapshot-fastdebug mixed mode linux-amd64 compressed oops) # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /home/iignatye/test/jtreg/JTwork/scratch/0/hs_err_pid12878.log # # Compiler replay data is saved as: # /home/iignatye/test/jtreg/JTwork/scratch/0/replay_pid12878.log # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # Current thread is 139671937423104 Dumping core ... ----------System.err:(0/0)----------
04-11-2013

G1 barriers use logical operators (xor) on T_OBJECT mixed with T_LONG. The current implementation of logical operations on x86 in C1 doesn't allow for long operands to be on stack. There is a special code in the register allocator that force long arguments in registers. However T_OBJECT can be spilled, and in that case the xor emission will fail.
04-11-2013