首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVM与G1 GC和trove库崩溃

JVM与G1 GC和trove库崩溃
EN

Stack Overflow用户
提问于 2012-07-02 12:07:26
回答 2查看 2.2K关注 0票数 9

我们有以下问题:在我们的一些Linux机器上,使用G1库和GC的Java应用程序使用以下类型的消息会很快崩溃:

代码语言:javascript
复制
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

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

有人知道这是什么原因吗?有已知的G1 GC错误吗?trove是否以一种特殊的方式编译,这可能会造成这个问题?

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

代码语言:javascript
复制
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 oops)
Problematic frame:
J  gnu.trove.map.hash.THashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

同样,切换到G1以外的GC也会有所帮助。保留G1,但去掉特洛伊库,这个问题也会消失。不幸的是,我无法创建一个最小的测试套件,因此很难提交合理的bug报告。对原因有什么想法,或者有什么想法可以帮助我建立测试套件吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-02 18:59:00

看来这确实是一个JDK bug,https://bugs.openjdk.java.net/browse/JDK-8023472,由Java7更新65+修复。

票数 3
EN

Stack Overflow用户

发布于 2012-07-02 12:13:50

G1GC在Java6中还没有“准备好使用”;只有在Java7u4中,它才最终成为生产准备。请看http://phosphor-escence.blogspot.com/2012/05/java7u4-enables-g1gc-without.html上的笔记,当然还有关于谷歌的更多信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11293384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档