`
13shu
  • 浏览: 73416 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jvm crash CompilerThread1

 
阅读更多
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode linux-amd64 compressed oops)
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
 
--------------- T H R E A D ---------------
 
Current thread (0x00007f3eb00e7800): JavaThread "C1 CompilerThread1" daemon [_thread_in_native, id=4031, stack(0x00007f3ea410b000,0x00007f3ea420c000)]
 
Stack: [0x00007f3ea410b000,0x00007f3ea420c000], sp=0x00007f3ea4209e90, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x861e05] VMError::report_and_die()+0x265
V [libjvm.so+0x3e5d26] report_vm_error(char const*, int, char const*, char const*)+0x56
V [libjvm.so+0x30cd91] CE_Eliminator::make_ifop(Instruction*, Instruction::Condition, Instruction*, Instruction*, Instruction*)+0x411
V [libjvm.so+0x30c2bc] CE_Eliminator::block_do(BlockBegin*)+0x55c
V [libjvm.so+0x2af314] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0x44
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af376] BlockBegin::iterate_preorder(boolArray&, BlockClosure*)+0xa6
V [libjvm.so+0x2af4d2] BlockBegin::iterate_preorder(BlockClosure*)+0x72
V [libjvm.so+0x2acec1] IR::iterate_preorder(BlockClosure*)+0x11
V [libjvm.so+0x30ce1c] Optimizer::eliminate_conditional_expressions()+0x3c
V [libjvm.so+0x2ab94a] IR::optimize()+0x4a
V [libjvm.so+0x28d3d7] Compilation::build_hir()+0xe7
V [libjvm.so+0x28d9b4] Compilation::compile_java_method()+0xc4
V [libjvm.so+0x28dc5c] Compilation::compile_method()+0x7c
V [libjvm.so+0x28e456] Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*)+0x1a6
V [libjvm.so+0x28eee9] Compiler::compile_method(ciEnv*, ciMethod*, int)+0x99
V [libjvm.so+0x3aa23a] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x2ca
V [libjvm.so+0x3a9b25] CompileBroker::compiler_thread_loop()+0x355
V [libjvm.so+0x822f89] compiler_thread_entry(JavaThread*, Thread*)+0x9
V [libjvm.so+0x81c491] JavaThread::run()+0x121
V [libjvm.so+0x712eef] java_start(Thread*)+0x13f
 
 
Current CompileTask:
C1: 16548 2946 2 org.hibernate.cfg.annotations.SimpleValueBinder.setType(Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/annotations/common/reflection/XClass;)V (921 bytes)
大概原因:

HotSpot是较新的Java虚拟机技术,用来代替JIT技术,可以大大提高Java运行的性能。

Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢。而该技术将常用的部分代码编译为本地(原生,native)代码,这样显著提高了性能。(来自于维基百科)

 

可能编译后的SimpleValueBinder与操作系统中的代码有冲突导致中断,只要让SimpleValueBinder采用JIT技术编译即可。

解决办法:JAVA_OPTS="$JAVA_OPTS -XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType"
 
分享到:
评论

相关推荐

    jvm crash的崩溃日志详细分析及注意点

    1. **错误信息概要**:这部分包含致命错误的描述,例如,`SIGSEGV (0xb)`表示遇到了段错误,`pc=0x0000000000043566`是引发错误的指令地址,`pid`是进程ID。如果错误发生在Java虚拟机外部的本地代码,报告会指出这...

    JVM crash 错误日志分析

    1. **头部信息**:包含崩溃时JVM的版本、操作系统信息、JVM参数等。这些信息有助于我们确定环境设置是否合理。 2. **堆栈跟踪**:当JVM崩溃时,它会打印出所有线程的堆栈跟踪,显示每个线程在崩溃时执行的函数调用...

    年轻代gc jvm crash

    "年轻代GC JVM crash"可能是因为在垃圾回收过程中遇到了严重问题,导致JVM崩溃。这可能是由于以下原因: 1. **内存溢出**:如果年轻代的空间不足以容纳新分配的对象,或者Survivor区无法容纳从Eden区晋升的对象,就...

    JVM Crash,生成hs_err_pid.log文件

    标题"JVM Crash,生成hs_err_pid.log文件"指的是Java虚拟机在运行过程中遇到了致命问题,导致其终止运行,并自动生成了一个错误日志文件。这个文件通常位于JVM崩溃时的工作目录下,文件名由“hs_err_pid”和进程ID...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    1. JVM原理:JVM的工作原理涉及类加载器(ClassLoader)、类文件(ClassFile)、内存管理及垃圾收集机制。类加载器负责将.class文件加载到内存中,为程序的运行准备数据结构。内存管理涉及JVM内存区域,包括堆、栈、...

    深入理解JVM&G1; GC

    1. **并发标记阶段**:G1使用并发标记清除算法,能在应用线程运行的同时进行垃圾收集,减少停顿时间。 2. ** Region划分**:通过Region划分,使得GC可以更灵活地进行局部或全局的垃圾回收。 3. **暂停预测**:G1能够...

    jdk,jvm源码

    1. 类加载子系统:负责加载、验证、解析和初始化.class文件。加载阶段会找到类的二进制数据;验证阶段确保类数据符合Java语义和安全规定;解析阶段将符号引用转换为直接引用;初始化则执行类的静态初始化块。 2. ...

    SAP JVM 8.1 64 bits

    1. **64位架构**:SAP JVM 8.1是针对64位操作系统设计的,这意味着它可以利用更多的内存资源,处理更大规模的数据,并且在多处理器系统上提供更好的并行处理能力。64位架构对于大型企业级应用如SAP系统来说至关重要...

    jvm paper jvm

    JVM在运行时加载这些字节码,然后解释执行或通过即时编译(JIT,Just-In-Time Compiler)将其转化为机器码。JVM的启动过程包括类加载、验证、准备、解析和初始化。 二、JVM内存模型 1. 堆(Heap):所有对象都在堆...

    jvm 启动过程 JVM 原理

    1. **加载**:当Java应用程序启动时,JVM首先通过类加载器加载主类(即包含main方法的类)。类加载器根据类的全限定名查找对应的.class文件,然后将其加载到内存中。类加载器有三种:bootstrap class loader(引导类...

    JVM图解-JVM指令-JVM原型图.rar

    1. **JVM架构**: - **类加载器**:负责加载.class文件,确保程序运行所需的类能够被找到并加载到内存中。 - **运行数据区**:包括堆、方法区、虚拟机栈、本地方法栈和程序计数器等几个部分。 - **堆**:存储对象...

    JVM中文指令手册.pdf

    1. JVM指令类型:JVM指令可以分为不同类型,包括将常量推送到操作数栈的指令(const系列指令),以及用于将单个数值(如int、long、float、double)推送到操作数栈的指令(iconst系列、lconst系列、fconst系列、d...

    jvm 详细介绍,了解jvm各个组成部分和功能

    ### JVM 详细介绍:掌握 JVM 的各个组成部分与功能 #### 一、Java 源文件编译及执行 Java 应用程序的核心在于源文件的编译与执行。不同于 C/C++ 这类需要针对不同平台进行编译的语言,Java 采用了一种更为灵活的...

    深入理解JVM & G1 GC

    《深入理解JVM & G1 GC》这篇文章和相关压缩包文件主要聚焦于Java虚拟机(JVM)的内存管理,特别是垃圾收集器(GC)的优化,特别是G1(Garbage-First)垃圾收集器的深度解析。下面将详细阐述JVM、GC的基本概念,...

    狂神说JVM探究.rar

    1. **JVM概述**: - JVM是Java平台的核心组成部分,它是一个运行Java字节码的虚拟机,负责执行Java程序。 - JVM实现了Java的跨平台特性,即“一次编写,到处运行”。 2. **类加载机制**: - 类的生命周期包括...

    jvm视频及笔记

    1. **JVM架构**:JVM主要由类装载器、运行时数据区、执行引擎、本地方法接口和本地库组成。了解每个部分的功能对于优化程序性能至关重要。 2. **类装载机制**:包括加载、验证、准备、解析和初始化五个阶段,确保类...

    JVM 源代码part1

    JVM 源代码part1 (看我的上传记录 有1--9 个part)

    JVM 输出 GC 日志导致 JVM 卡住

    1. JVM 垃圾回收机制(Garbage Collection,GC) 2. JVM 日志配置,包括 GC 日志、JIT 编译日志和 Safepoint 日志 3. Safepoint 机制和其在 JVM 中的应用 4. JVM 卡住的问题和解决方法 5. async_profiler 工具的使用...

    JVM必知必会

    #### 1. JVM的定义与层次 Java虚拟机(JVM)具有多重含义: - **一套规范**:即Java虚拟机规范,定义了Java虚拟机应该具有的行为。 - **一种实现**:例如HotSpot、J9、JRockit,它们都是Java虚拟机规范的具体实现,...

Global site tag (gtag.js) - Google Analytics