2

有人可以帮我解决这个问题,我几天前才开始使用 Eclipse。我确实谷歌了这个问题,我看到其他人有同样的“SIGSERV”崩溃,但我没有找到解决它的方法。

Ubuntu 11.04 下的 Eclipse Helios CDT 在我启动后的几秒钟内每次都会崩溃。它在我清除复选框后开始发生:索引不包含在项目中的源文件。

下面是错误日志。太长了,我只贴上半部分。

谢谢!!

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ff5ccc6cc8b, pid=22977, tid=140693409957632
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J  org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPSemantics.declaredBefore(Ljava/lang/Object;Lorg/eclipse/cdt/core/dom/ast/IASTNode;Z)Z
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

- - - - - - - - 线 - - - - - - - -

当前线程 (0x00000000416bd000): JavaThread "Worker-7" [_thread_in_Java, id=23044, stack(0x00007ff5bca90000,0x00007ff5bcb91000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x000000000165657a

4

2 回答 2

3

可能是几件事,你可以试试我的学生(Michael Rueegg)在他的硕士项目中发现了什么:

“在我们的 CI 环境中更新 Ubuntu 系统后,我们经常注意到由 JVM 的分段错误导致的单元测试损坏。更新包括新的 JRE 版本 1.6.0_24。CDT bugzilla 中部分描述了此问题的原因条目 https://bugs.eclipse.org/bugs/show_bug.cgi?id=333227。建议的解决方案是使用名为 UseCompressedOops 的 HotSpot 选项。Oops 代表“普通对象指针”,是托管指针在HotSpot [Joh09]。此选项旨在减少 64 位 JVM 的内存使用——除其他规定外——在可能的情况下将 64 位指针编码为 32 位 [Joh09]。”

[Joh09] 约翰·罗斯。CompressedOops - OpenJDK 的 HotSpot 内部结构。万维网,http ://wikis.sun.com/display/HotSpotInternals/CompressedOops,2009 年。访问时间:2011 年 6 月 12 日。

于 2011-06-23T13:22:32.893 回答
1

嗨,我对带有 CDT 的 Eclipse Indigo 也有类似的问题,我从这里得到了解决方案 http://www.eclipse.org/forums/index.php/m/664268/

将以下行添加到您的eclipse.ini文件中

-XX:-UseCompressedOops
于 2012-01-17T13:49:57.027 回答