JDK-8035841 : assert(dp_src->tag() == dp_dst->tag()) failed: should be same tags 1 != 0 at ciMethodData.cpp:90
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs25,9
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-02-26
  • Updated: 2014-07-29
  • Resolved: 2014-03-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 8 JDK 9
8u20Fixed 9 b06Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Description
many tests from vm.parallel_class_loading failed:

;; Using jvm: "/export/local/aurora/sandbox/sca/vmsqe/jdk/nightly/fastdebug/comp_baseline/linux-amd64/jre/lib/amd64/server/libjvm.so"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/jprt/T/P1/184116.rwestrel/s/src/share/vm/ci/ciMethodData.cpp:90), pid=8330, tid=139748173453056
#  assert(dp_src->tag() == dp_dst->tag()) failed: should be same tags 1 != 0
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b129) (build 1.8.0-fastdebug-b129)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b62-internal-201402251841.rwestrel.8031752-fastdebug compiled mode linux-amd64 compressed oops)
# Core dump written. Default location: /export/local/aurora/sandbox/results/ResultDir/anonymous-complex_copy_2/core or core.8330
#
# 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 (0x00007f19a4160000):  JavaThread "C1 CompilerThread1" daemon [_thread_in_vm, id=8343, stack(0x00007f19a82c9000,0x00007f19a83ca000)]

Stack: [0x00007f19a82c9000,0x00007f19a83ca000],  sp=0x00007f19a83c6b60,  free space=1014k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xf84a8a]  VMError::report_and_die()+0x2da;;  VMError::report_and_die()+0x2da
V  [libjvm.so+0x6ff584]  report_vm_error(char const*, int, char const*, char const*)+0x84;;  report_vm_error(char const*, int, char const*, char const*)+0x84
V  [libjvm.so+0x5ba1e7]  ciMethodData::load_extra_data()+0xa7;;  ciMethodData::load_extra_data()+0xa7
V  [libjvm.so+0x5bc771]  ciMethodData::load_data()+0x3f1;;  ciMethodData::load_data()+0x3f1
V  [libjvm.so+0x5ae4a5]  ciMethod::ensure_method_data(methodHandle)+0xb5;;  ciMethod::ensure_method_data(methodHandle)+0xb5
V  [libjvm.so+0x5ae624]  ciMethod::ensure_method_data()+0xe4;;  ciMethod::ensure_method_data()+0xe4
V  [libjvm.so+0x486b1e]  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x55e;;  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x55e
V  [libjvm.so+0x487428]  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138;;  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138
V  [libjvm.so+0x488928]  GraphBuilder::invoke(Bytecodes::Code)+0xe08;;  GraphBuilder::invoke(Bytecodes::Code)+0xe08
V  [libjvm.so+0x484add]  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d;;  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d
V  [libjvm.so+0x4865b9]  GraphBuilder::iterate_all_blocks(bool)+0x129;;  GraphBuilder::iterate_all_blocks(bool)+0x129
V  [libjvm.so+0x4869f7]  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x437;;  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x437
V  [libjvm.so+0x487428]  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138;;  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138
V  [libjvm.so+0x488928]  GraphBuilder::invoke(Bytecodes::Code)+0xe08;;  GraphBuilder::invoke(Bytecodes::Code)+0xe08
V  [libjvm.so+0x484add]  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d;;  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d
V  [libjvm.so+0x486569]  GraphBuilder::iterate_all_blocks(bool)+0xd9;;  GraphBuilder::iterate_all_blocks(bool)+0xd9
V  [libjvm.so+0x4869f7]  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x437;;  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x437
V  [libjvm.so+0x487428]  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138;;  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138
V  [libjvm.so+0x488928]  GraphBuilder::invoke(Bytecodes::Code)+0xe08;;  GraphBuilder::invoke(Bytecodes::Code)+0xe08
V  [libjvm.so+0x484add]  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d;;  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d
V  [libjvm.so+0x4865b9]  GraphBuilder::iterate_all_blocks(bool)+0x129;;  GraphBuilder::iterate_all_blocks(bool)+0x129
V  [libjvm.so+0x4869f7]  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x437;;  GraphBuilder::try_inline_full(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x437
V  [libjvm.so+0x487428]  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138;;  GraphBuilder::try_inline(ciMethod*, bool, Bytecodes::Code, Instruction*)+0x138
V  [libjvm.so+0x488928]  GraphBuilder::invoke(Bytecodes::Code)+0xe08;;  GraphBuilder::invoke(Bytecodes::Code)+0xe08
V  [libjvm.so+0x484add]  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d;;  GraphBuilder::iterate_bytecodes_for_block(int)+0x76d
V  [libjvm.so+0x486569]  GraphBuilder::iterate_all_blocks(bool)+0xd9;;  GraphBuilder::iterate_all_blocks(bool)+0xd9
V  [libjvm.so+0x489637]  GraphBuilder::GraphBuilder(Compilation*, IRScope*)+0x597;;  GraphBuilder::GraphBuilder(Compilation*, IRScope*)+0x597
V  [libjvm.so+0x4944e9]  IRScope::IRScope(Compilation*, IRScope*, int, ciMethod*, int, bool)+0x249;;  IRScope::IRScope(Compilation*, IRScope*, int, ciMethod*, int, bool)+0x249
V  [libjvm.so+0x494636]  IR::IR(Compilation*, ciMethod*, int)+0x76;;  IR::IR(Compilation*, ciMethod*, int)+0x76
V  [libjvm.so+0x46a2a7]  Compilation::build_hir()+0x167;;  Compilation::build_hir()+0x167
V  [libjvm.so+0x46b669]  Compilation::compile_java_method()+0x139;;  Compilation::compile_java_method()+0x139
V  [libjvm.so+0x46b85e]  Compilation::compile_method()+0x5e;;  Compilation::compile_method()+0x5e
V  [libjvm.so+0x46bdb8]  Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*)+0x398;;  Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*)+0x398
V  [libjvm.so+0x46d3b2]  Compiler::compile_method(ciEnv*, ciMethod*, int)+0x132;;  Compiler::compile_method(ciEnv*, ciMethod*, int)+0x132
V  [libjvm.so+0x68600e]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xace;;  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xace
V  [libjvm.so+0x686e54]  CompileBroker::compiler_thread_loop()+0x5f4;;  CompileBroker::compiler_thread_loop()+0x5f4
V  [libjvm.so+0xf08f31]  JavaThread::thread_main_inner()+0x221;;  JavaThread::thread_main_inner()+0x221
V  [libjvm.so+0xf0cadd]  JavaThread::run()+0x2ad;;  JavaThread::run()+0x2ad
V  [libjvm.so+0xd1b248]  java_start(Thread*)+0x108;;  java_start(Thread*)+0x108


Current CompileTask:
C1:  58010 3750    b  3       custom.C$9::<init> (10 bytes)
Comments
When the ciMethodData is loaded, the code walks over the traps in the extra data to translate their Method into a ciMethod. There can be new traps added as this is happening so the code that walks over the traps should iterate over the ciMethodData copy of the profile data. Because of concurrent updates, the assert is incorrect. No regression test because this required concurrent compilation and update of profile data which is hard to reproduce in a simple test case.
05-03-2014

jdk8 isn't affected, hs25 was added, because nightly builds still have 8/hs25 as version
26-02-2014