gpt4 book ai didi

java - jdk6 有问题的框架 : # J java. util.LinkedHashMap.addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V

转载 作者:搜寻专家 更新时间:2023-11-01 03:54:25 25 4
gpt4 key购买 nike

有没有办法解决这种报错:

# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fc955e66998, pid=25851, tid=140467030525696
#
# JRE version: 6.0_37-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.12-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J java.util.LinkedHashMap.addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V

?

崩溃发生得相当频繁(在 web 服务器生产中每天 1-2 次),几乎总是有不同的问题框架报告。

以下是一些错误报告的示例:

# J  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.addConditionWaiter()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
# J java.util.LinkedHashMap.addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V
# C [libc.so.6+0x6bb34]
# C [libgobject-2.0.so.0+0x2346f] g_type_check_instance_is_a+0x43
# C [libgobject-2.0.so.0+0x2346f] g_type_check_instance_is_a+0x43
# V [libjvm.so+0x4d3360]
# V [libjvm.so+0x32d166] CardTableRS::write_ref_field_gc_par(void*, oopDesc*)+0x26
# V [libjvm.so+0x7a33e2] ContiguousSpace::prepare_for_compaction(CompactPoint*)+0x242
# V [libjvm.so+0x4d3360]
# V [libjvm.so+0x76943b] ReferenceProcessor::balance_queues(DiscoveredList*)+0x32b
# V [libjvm.so+0x4d3360]
# V [libjvm.so+0x32d166] CardTableRS::write_ref_field_gc_par(void*, oopDesc*)+0x26
# V [libjvm.so+0x4d3360]
# V [libjvm.so+0x4d3360]
# V [libjvm.so+0x76943b] ReferenceProcessor::balance_queues(DiscoveredList*)+0x32b

似乎唯一触发崩溃的是大约 30gb 的高内存使用率,尽管情况并非总是如此(在 gc 日志显示低内存使用率的瞬间有一些崩溃)。在 -Xint 模式下运行时不会发生崩溃,但该模式太慢以至于不是一个选项。

似乎很难制作任何简单的“可重现代码”来重现复杂应用程序生产环境中发生的错误。

要做什么?不过,我确实在 Oracle 崩溃站点上报告了很多这样的问题......

我不怀疑硬件内存问题,因为除了 java 之外没有其他任何东西崩溃。并且应用程序中没有自定义 native jni 代码。

我们的 vm 参数是 -server -Xss4096k -Xms32255M -Xmx32255M -Xnoclassgc -XX:+UseNUMA -XX:MaxPermSize=512m -XX:+UseGCOverheadLimit -verbose:gc -Xmaxf1 -XX:+UseCompressedOops -XX: +DisableExplicitGC -XX:+AggressiveOpts -XX:+ScavengeBeforeFullGC -XX:CMSFullGCsBeforeCompaction=10 -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled - XX:+ParallelRefProcEnabled -XX:GCTimeRatio=19 -XX:+UseAdaptiveSizePolicy -XX:MaxGCPauseMillis=500 -Xloggc:gc.log.

最佳答案

虽然崩溃可能是由 JVM 错误引起的,但更有可能是由您编写的某些 JNI/JNA native 代码引起的,或者是您正在使用的某些第 3 方库的一部分.

What to do?

这是一篇关于如何开始调试故障转储的博客:http://www.javacodegeeks.com/2012/01/debugging-jvm.html

在您的情况下,报告各不相同这一事实将使问题更难追踪。 听起来您可能遇到“随机”损坏堆对象的问题。

I did report a bunch of these at the Oracle crash site though ...

除非您有支持契约(Contract),否则 Oracle 不太可能向您提供解决方案。

关于java - jdk6 有问题的框架 : # J java. util.LinkedHashMap.addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12997526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com