标签: jvm-crash

调试工具在java应用程序中挂起

我有一个Java应用程序,有一半时间只是挂起,另一半JVM崩溃.有没有一种工具可以用来查看发生了什么事情让它挂起和/或崩溃?我正在使用CentOS 5.6

java debugging jvm crash-dumps jvm-crash

13
推荐指数
2
解决办法
2万
查看次数

卡尺错误:CICompilerCount为1无效; 必须至少2

我有一个卡尺基准(1.0-beta-2):

import com.google.caliper.Benchmark;
import com.google.caliper.runner.CaliperMain;

public class MyBenchmark {

    @Benchmark public int a(int rep) {
        return 0;
    }

    public static void main(String[] args) {
        CaliperMain.main(MyBenchmark.class, args);
    }   
}
Run Code Online (Sandbox Code Playgroud)

我从eclipse或命令行运行它:

mvn exec:java -Dexec.mainClass="com.google.caliper.runner.CaliperMain" -Dexec.args="MyBenchmark" 
Run Code Online (Sandbox Code Playgroud)

在这两种情况下我都有一个错误:

ERROR: Trial failed to complete (its results will not be included in the run):
  The worker exited without producing data. It has likely crashed. Inspect /tmp/1427055470061-0/trial-1.log to see any worker output.
Run Code Online (Sandbox Code Playgroud)

在这个文件中,我看到:

Trial Number: 1
Trial Id: d663a0b5-55b4-43c3-97d8-93f14f436342
Experiment: {instrument=allocation, benchmarkMethod=a, vm=default, parameters={}}

[stderr] CICompilerCount of …
Run Code Online (Sandbox Code Playgroud)

java jvm jvm-arguments jvm-crash caliper

13
推荐指数
1
解决办法
1594
查看次数

如何在内存不足错误时生成线程转储java

  • 除了堆转储之外java 6还生成线程转储(java_pid14941.hprof)

  • 这是我的一个应用程序发生的事情.

    java.lang.OutOfMemoryError:超出GC开销限制将堆转储到java_pid14941.hprof ...

  • 我确实在工作目录中找到了ava_pid14941.hprof,但没有找到任何包含线程转储的文件.当我得到这个OutOfMemory错误时,我需要知道所有线程正在做什么.

  • 是否有任何配置选项除了内存异常外的堆转储外还会产生线程转储?

java crash-dumps jvm-crash

11
推荐指数
2
解决办法
2万
查看次数

从C代码运行64位JVM

我正在使用用C编写的Windows启动程序启动我的Java软件.它基本上加载了jvm.dll并使用它来初始化JVM而不使用javaw.

现在,我尝试在64位上编译它,并从64位Java安装加载正确的jvm.dll.

现在,Java程序启动了,但是与hs_err_pid文件崩溃了.好像AWT正在崩溃.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (os_windows_x86.cpp:149), pid=8812, tid=10816
#  guarantee(result == EXCEPTION_CONTINUE_EXECUTION) failed: Unexpected result from topLevelExceptionFilter
#
# JRE version: 7.0_10-b18
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode windows-amd64 compressed oops)
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please …
Run Code Online (Sandbox Code Playgroud)

java windows jvm jvm-crash

11
推荐指数
1
解决办法
2294
查看次数

我可以从实时JVM转储当前线程堆栈变量吗?

我需要查看2个死锁线程的堆栈来分析情况.现在JVM是现场直播,数据就在那里,但是我需要某种工具来从流程中提取它.我只关心类型堆栈中的6个变量String.任何想法都非常感谢.JVM版本6_35,它是a linux,JMX已启用,但我没有profiler/debugger配置连接.重现起来非常困难.

java jvm yourkit stack-trace jvm-crash

10
推荐指数
2
解决办法
2196
查看次数

JVM在java.util.zip.ZipFile.getEntry中崩溃

以下日志文​​件导致JVM崩溃.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f60ddce2058, pid=117268, tid=140052313204480
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libzip.so+0x5058]  ZIP_GetEntry+0x78
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again …
Run Code Online (Sandbox Code Playgroud)

java linux zip jboss jvm-crash

10
推荐指数
1
解决办法
3802
查看次数

使用G1 GC和trove库的JVM崩溃

我们遇到以下问题:在我们的某些 Linux机器上,使用特洛伊库和G1 GC的Java应用程序将使用以下类型的消息快速崩溃:

A fatal error has been detected by the Java Runtime Environment:

 SIGSEGV (0xb) at pc=0x00002aaaaaef81d1, pid=31063, tid=1141000512

JRE version: 6.0_29-b11
Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode linux-amd64 )
Problematic frame:
J  gnu.trove.impl.hash.TObjectHash.insertKey(Ljava/lang/Object;)I
Run Code Online (Sandbox Code Playgroud)

这里让我感到震惊的是有问题的框架,它总是一样的.我习惯了这里出现的一些库,但从来没有使用Java代码.奇怪的是,一些应该具有相同设置的机器不会受到影响.在Windows上,我也从未见过这个.最近的Java 7版本仍然存在这个问题.从G1 GC切换到任何其他GC会立即解决问题.我们使用由Maven解决的特洛伊库,在那里尝试了几个版本,包括3.0.3 - 总是同样的问题.

有谁知道这可能是什么原因?任何已知的G1 GC错误?是否以特殊的方式编译了特洛伊,这可能会造成这个问题?

更新:不同的应用程序,不同的服务器,最新的Java(7u5),类似的问题:

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0x00002aadb7a38093, pid=14100, tid=46925573367184

JRE version: 7.0_05-b05
Java VM: Java HotSpot(TM) 64-Bit Server VM (23.1-b03 mixed mode linux-amd64 compressed …
Run Code Online (Sandbox Code Playgroud)

java jvm-crash trove4j

9
推荐指数
1
解决办法
1800
查看次数

我得到"Java HotSpot(TM)64位服务器VM警告:异常java.lang.OutOfMemoryError发生调度信号SIGTERM到处理程序"tomcat中的错误

我在VPS上有tomcat web应用程序,tomcat有时(大约每月一次)在catalina.out中崩溃并出现以下错误:

Java HotSpot(TM)64位服务器VM警告:异常java.lang.OutOfMemoryError发生将调度信号SIGTERM发送到处理程序 - 可能需要强制终止VM.

以下是我的配置的一些细节:

  • VPS:debian-5.0-x86_64

  • RAM:2.5 gb,

  • 虚拟处理器:8

  • 硬盘:60GB硬盘 - 70%免费

  • Tomcat 7.0

  • java -version:

    java version "1.6.0_18"
    OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze1)
    OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
    
    Run Code Online (Sandbox Code Playgroud)
  • Java参数:-Xms512m -Xmx1024m

我在该服务器上也有Apache-PHP.

我正在使用Munin监视服务器负载,它向我显示内存和CPU使用率始终稳定,并且在崩溃之前没有任何增加.

我也通过java.lang.Runtime类记录java内存使用情况,它显示jvm总是使用max200Mb内存并且在崩溃之前没有增加.崩溃前的最后一个日志是40秒前,那个时间使用的内存是:152Mb.

我的Web应用程序还运行6-7个线程,用于从不同的公共API收集数据.这些线程在tomcat启动时启动,并且它们始终以定期休眠运行.

你能告诉我它崩溃的原因吗?我怎么才能找到原因?

java out-of-memory jvm-crash tomcat7

8
推荐指数
1
解决办法
1万
查看次数

从JVM致命错误日志中猜出方法行号

我有一个没有核心转储的致命错误日志,需要确定原因.这是.log文件中的堆栈:

# Problematic frame:
# C  [libc.so.6+0x7b4bb]  memcpy+0x15b
Run Code Online (Sandbox Code Playgroud)

{...}

Stack: [0x00002ac8c4d2c000,0x00002ac8c4e2d000],  sp=0x00002ac8c4e28ef8,  free space=1011k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x7b4bb]  memcpy+0x15b
C  [libzip.so+0x50b0]  ZIP_GetEntry+0xd0
C  [libzip.so+0x3eed]  Java_java_util_zip_ZipFile_getEntry+0xad
J 28  java.util.zip.ZipFile.getEntry(J[BZ)J (0 bytes) @ 0x00002ac8acf404ee [0x00002ac8acf40420+0xce]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 28  java.util.zip.ZipFile.getEntry(J[BZ)J (0 bytes) @ 0x00002ac8acf40478 [0x00002ac8acf40420+0x58]
J 33 C2 java.util.zip.ZipFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry; (86 bytes) @ 0x00002ac8acf45548 [0x00002ac8acf45480+0xc8]
J 58 C2 java.util.jar.JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; (9 bytes) @ 0x00002ac8acf4e828 [0x00002ac8acf4e7e0+0x48]
J 44 C2 sun.misc.URLClassPath$JarLoader.getResource(Ljava/lang/String;Z)Lsun/misc/Resource; (91 …
Run Code Online (Sandbox Code Playgroud)

java jvm jvm-crash

7
推荐指数
1
解决办法
602
查看次数

尽管RAM显示6 GB可用空间,但Java Runtime Environment的内存不足

在运行java应用程序时,我得到以下内存转储.

安装java 8后(java 7应用程序之前正在运行)我开始收到以下错误.

我正在使用16 GB RAM,在我检查时(在应用程序启动时)任务管理器中,大约6 GB RAM是免费的.

有人可以帮助解决问题吗?

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 472736 bytes for Chunk::new
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if …
Run Code Online (Sandbox Code Playgroud)

java jvm jvm-arguments jvm-crash

7
推荐指数
2
解决办法
3万
查看次数