【问题标题】:Eclipse Kepler freezes on 64 bit ubuntuEclipse Kepler 在 64 位 ubuntu 上冻结
【发布时间】:2014-06-09 21:56:21
【问题描述】:

几天前我刚刚将我的 Ubuntu 升级到 14.04,并在此过程中从 32 位切换到 64 位。从那以后,Eclipse 变得非常不稳定。运行几分钟后,它会开始随机冻结越来越长的时间,特别是在代码完成时(已经不得不禁用它),但在剪切/粘贴时,偶尔在保存时,有时在没有明显原因时全部。在冻结期间,它将两个 CPU 都泵到 100%。有时它会像什么都没发生一样回来,有时它会抛出关于内存不足、超时或超过 GC 开销的错误。

我已经按照 SO 上处理此问题的任何线程中的建议将其 Xmx 增加到 2GB,但它没有帮助。实际上,它们中建议的东西都没有。

我正在使用 Nodeclipse、Android 开发人员工具、Subversive 和 SQLExplorer 运行 Kepler。在升级之前,确切的设置完美无缺。

任何人都可以确认这个问题或(希望最后消失)建议修复吗?如果其他人也有这个,我会提交一个错误。

更新

我已经下载了 Eclipse 的 x86 版本以及 Oracle Java 8 以及它在启动时抱怨的任何缺失的库,事实证明这更加稳定。它仍然冻结在内容辅助上,但除此之外,到目前为止它似乎很稳定。所以肯定是64位版本的问题。

总结一下目前已经尝试过但无效的所有事情:

  • 通过 eclipse.ini 中的 Xmx 设置将内存增加到 2GB
  • 在 eclipse.ini 中添加了 -Dorg.eclipse.swt.browser.DefaultType=mozilla
  • 不同的 JVM:OpenJDK 7、Oracle Java 7 和 8
  • Eclipse 的全新安装

我现在在 bugs.eclipse.org 上提交了一个错误:bug report

更新 2

看来自从安装了 Eclipse 的 32 位版本(我早就又删除了)之后,64 位版本的运行也更加稳定了。这对我来说真的没有意义,但在过去的几天里,它并没有冻结一次。任何人都可以确认吗?

没关系……它还在做:(

此外,对于遇到此问题的其他人,如果您能在 bug report on bugs.eclipse.org 上发布“我也是”,我将不胜感激,因为到目前为止它在该处的关注度为零。

更新 3

我尝试过的其他一些事情没有成功:

  • 根据https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776#c22-Dorg.eclipse.swt.browser.XULRunnerPath=/dev/null 添加到eclipse.ini
  • 切换到不同的主题
  • 运行环境变量GDK_NATIVE_WINDOWS=true
  • 运行环境变量LIBOVERLAY_SCROLLBAR=0
  • 禁用“标记出现次数”功能

更新 4,经过很长时间

显然这不是 Eclipse 本身的错误,而是 JSDT 中的错误。根据错误报告,它已针对版本 3.7 进行了修复,在安装新的 Eclipse Mars 之后,我无法确认 - 它和以往一样糟糕。但是,由于其他一些错误,新的 Eclipse 现在一直在以 100% 的速度运行我的 CPU(对电池寿命不利,那......),我决定不再将它用于我的 JavaScript 项目,至少在一段时间内尽管。

问题:任何遭受此错误困扰的人都可以确认它在 JSDT 3.7 中消失了吗?

更新 5,经过 LONGLONGLONGLONG 时间

由于这个问题显然一直被人们访问,我想给出最后的更新。该错误终于开始受到关注,但前两个更新并没有为我(显然还有其他一些人)解决问题。由于 Eclipse 在当前状态下完全无法用于 Javascript 开发,我最终放弃了它。然而,人们仍然在错误报告中抱怨这个,所以我假设它仍然没有修复。我现在正在使用 Sublime Text - 非常高兴,但也有一丝悲伤。我真的很喜欢 Eclipse。如果这个问题永远消失了,我会很高兴听到它。

【问题讨论】:

  • 您是否将 Eclipse 升级到 64 位发行版
  • 是的,我做到了。也对所有内容进行全新安装。
  • 什么JVM,OpenJDK??你试过另一个JVM吗?这个问题通常与 Eclipse 为其 UI 使用的 SWT 本机库有关,这使得它混合了本机库/Java 代码。从 32 位平台迁移到 64 位平台后,您可能会混合使用 32 位和 64 位本机库支持。
  • 是的,它是 OpenJDK。 OpenJDK 之前做得很好,所以我并没有真正期待它会出现问题……在我们说话的时候下载 Oracle 版本,我会看看是否可以。我清理了所有东西,完整的操作系统擦除,新的 eclipse,JVM 和插件......剩下的东西在哪里?
  • 我在 ubuntu studio 14.04 上使用最新的 adt 包遇到了同样的问题。

标签: eclipse ubuntu 32bit-64bit


【解决方案1】:

这几天遇到同样的问题。在 eclipse.ini 的末尾添加了以下行,它为我解决了:

-Dorg.eclipse.swt.browser.DefaultType=mozilla

【讨论】:

  • 此修复适用于较旧的 Eclipse 而不是 Kepler。无论如何,即便如此,我也会在使用 Kepler 和 Ubuntu 14.04 时冻结和崩溃。
  • @pakman 这些崩溃是在几天前升级后开始的。我又开始经历这种崩溃。上面的答案已经解决了几个月前的崩溃问题。
  • 这是一台全新的计算机(Dell Precision m3800),安装了全新的 ubuntu 14.04(包含最新的所有更新)。以前我使用 debian 7 没有问题(在另一个 comp 上)。
  • 我还添加了 -XX:MaxPermSize=512m 这似乎可以解决冻结问题
【解决方案2】:

遇到了同样的问题,Lars' article 为我解决了这个问题。似乎是 SWT 和 GTK3 的问题。

【讨论】:

  • 谢谢!解决了这个问题。刚刚更新到 Ubuntu 16.04,STS(Spring Tool Suite - Eclipse)在创建类、运行测试等时开始冻结。已解决!
【解决方案3】:

我遇到了同样的问题,现在仍然面临。虽然在我增加文件“eclipse.ini”中的 JVM 大小后频率有所降低 只需更改这些行:

-XX:MaxPermSize=256m
-Xms256m
-Xmx2048m

并从终端启动 Eclipse :~/Desktop/eclipse$ ./eclipse

如果不完全解决它会降低冻结的频率。 希望对您有所帮助。

【讨论】:

  • 感谢您的建议,但不幸的是我已经尝试过了,但没有帮助。
【解决方案4】:

更新

https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776

评论线程中有几个解决方法。根据评论 22,我已将此添加到我的 eclipse.ini 中。

-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-Dorg.eclipse.swt.browser.XULRunnerPath=/opt/xulrunner/1.8.0.1/xulrunner

我出于某种原因将 xulrunner 安装到了这个目录中,不知道为什么是这个版本。


这不是一个真正的答案,但我需要空间来粘贴我的系统配置数据。仅供对比,希望对您有所帮助。

我在处理 PHP 项目时遇到了同样的问题,这也让我很恼火:当我点击内容辅助/自动完成的按键组合 (Shift+Space) 时,有时 Eclipse 4.3 在 Ubuntu 14.04 64 位上崩溃。也发生在 13.10。

我不知道是什么导致了错误。但是,我注意到我的系统几乎没有可用内存。 此外,JAVA_HOME 变量指向 JRE 的旧路径。

也许 Alt-F2 和输入 unity --replace & 会有所帮助。 或者,也许您可​​以向 com?piz 发送 HUP 信号

我的eclipse配置

(帮助开头/关于Eclipse/安装细节/系统配置:

 eclipse.buildId=4.3.2.M20140221-1700
eclipse.commands=-os
linux
-ws
gtk
-arch
x86_64
-showsplash
/opt/eclipse/eclipse43jee//plugins/org.eclipse.platform_4.3.2.v20140221-1700/splash.bmp
-launcher
/opt/eclipse/eclipse43jee/eclipse
-name
Eclipse
--launcher.library
/opt/eclipse/eclipse43jee//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212/eclipse_1508.so
-startup
/opt/eclipse/eclipse43jee//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.appendVmargs
-exitdata
e5000d
-product
org.eclipse.epp.package.jee.product
-vm
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
eclipse.home.location=file:/opt/eclipse/eclipse43jee/
eclipse.launcher=/opt/eclipse/eclipse43jee/eclipse
eclipse.launcher.name=Eclipse
eclipse.p2.data.area=@config.dir/../p2/
eclipse.p2.profile=epp.package.jee
eclipse.product=org.eclipse.epp.package.jee.product
eclipse.startTime=1398324869065
eclipse.vm=/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
eclipse.vmargs=-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
-Dhelp.lucene.tokenizer=standard
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx3072m
-jar
/opt/eclipse/eclipse43jee//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
equinox.use.ds=true
file.encoding=UTF-8
file.encoding.pkg=sun.io
file.separator=/
gosh.args=--nointeractive
help.lucene.tokenizer=standard
http.nonProxyHosts=
http.proxyHost=127.0.0.1
http.proxyPort=8118
http.proxySet=true
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/opt/eclipse/eclipse43jee//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
java.class.version=50.0
java.endorsed.dirs=/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/endorsed
java.ext.dirs=/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
java.home=/usr/lib/jvm/java-6-openjdk-amd64/jre
java.io.tmpdir=/tmp
java.library.path=/usr/lib/x86_64-linux-gnu/jni
java.runtime.name=OpenJDK Runtime Environment
java.runtime.version=1.6.0_31-b31

【讨论】:

  • 您好,您遇到过什么样的项目? (例如 java、javascript、php、...)
  • php- 我会将其添加到我的“答案”中。
  • 您的 php 项目中是否有任何 JSDT 编译器可能运行的 JavaScript 部分?因为我开始怀疑这是一个 JSDT 问题,而不是 SWT...
  • 这是一个 xulrunner 问题。我在 eclipse.ini 文件中添加了几行。我会再次更新我的答案。似乎是 Eclipse Bug 404776,见评论 22 bugs.eclipse.org/bugs/show_bug.cgi?id=404776 和相关 cmets。
  • 不幸的是,这也没有帮助。我被官方迷惑了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多