为什么我的Eclipse Luna 4.4在使用Oracle JDK8 64bit的Debian Wheezy 7.4上崩溃了?

时间:2014-07-21 19:20:39

标签: java linux eclipse java-8

我在Oracle VirtualBox上安装了Debian GNU / Linux 7.4(wheezy)操作系统,并且:

java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

我下载了Eclipse Luna 4.4。当我尝试运行Eclipse时发生错误:

A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x00007f9e8a42173f, pid=10942, tid=140319582553856
JRE version: Java(TM) SE Runtime Environment (8.0_11-b12) (build 1.8.0_11-b12)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.11-b03 mixed mode linux-amd64 compressed oops)
Problematic frame:
C  [libgdk-x11-2.0.so.0+0x5173f]  gdk_display_open+0x3f
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java

所以我在终端发出了一个命令:

$ ulimit -c unlimited
$ ./eclipse

但是发生了下一个错误:

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support
was removed in 8.0
(java:11276): GLib-GObject-WARNING **: cannot register existing type `GdkDisplayManager'
(java:11276): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
(java:11276): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
(java:11276): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(java:11276): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(java:11276): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(java:11276): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(java:11276): GLib-GObject-WARNING **: cannot register existing type `GdkDisplay'
(java:11276): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
(java:11276): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed
(java:11276): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
(java:11276): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x00007f216d28473f, pid=11276, tid=139782222493440JRE version: Java(TM) SE Runtime Environment
     

(8.0_11-b12)(build 1.8.0_11-b12)       Java VM:Java HotSpot(TM)64位服务器VM(25.11-b03混合模式linux-amd64压缩oops)       有问题的框架:       C [libgdk-x11-2.0.so.0 + 0x5173f] gdk_display_open + 0x3f       核心转储写。默认位置:/ home / abcdef / ECLIPSE_JAVA / eclipse / core或core.11276

我还试图通过添加:

来解决这个问题
-Dorg.eclipse.swt.browser.DefaultType=mozilla

到eclipse.ini,但它没有帮助。

有人可以帮我解决这个问题吗?

8 个答案:

答案 0 :(得分:79)

根据: https://bugs.eclipse.org/bugs/show_bug.cgi?id=430736

添加到2行eclipse.ini:

--launcher.GTK_version
2

选项--launcher.GTK_version应该之前 --launcher.appendVmargs

问题(对话框无法正常工作)与TIBCOJaspersoft®Studio - JasperReports的可视设计器:

像这样编辑Jaspersoft Studio.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.GTK_version
2
--launcher.library

或者在启动Jasper Studio( runubuntu.sh )之前添加它:

export SWT_GTK3=0

答案 1 :(得分:11)

我在eclipse bugs page

找到了这个解决方案

导出SWT_GTK3 = 0

答案 2 :(得分:10)

尝试像这样编辑你的eclipse.ini文件:

-startup
 plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.GTK_version
2
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

答案 3 :(得分:4)

在Debian Wheezy 7.6 64位上启动STS时,基于Eclipse的Sping Tool Suite(STS)和JDK 8遇到了同样的问题。正如其他答案所建议的那样,将这两行添加到init文件sts.ini(eclipse.ini)中。

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
--launcher.GTK_version
2
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m

答案 4 :(得分:3)

尝试使用-noSplash选项从命令行启动Eclipse。 您的错误看起来像bug

答案 5 :(得分:3)

" - launcher.GTK_version 2"

它对我也有用。 Debian 7 + STS 4.4.1,我必须添加一行到eclipse.ini作为ccer添加。

答案 6 :(得分:3)

On Debian Wheezy 7.8(64bit)&使用Eclipse - Luna 4.4.2。 {strong} harshrcBug 430736的评论与我的案例最相关,并解决了崩溃后的启动画面问题。使用 export SWT_GTK3=0

启动eclipse
# from CLI / prompt in eclipse folder:
export SWT_GTK3=0 ; ./eclipse

答案 7 :(得分:1)

在Oracle installing JDK 7之后,我修改了eclipse.ini并将其指向Oracle的Java 7。然后我阅读了发布表单arash javan,并修改了eclipse.ini以指向正确版本的GTK。在这两个mod之后,eclipse在Debian 7中运行。如果你想使用JDK 8,我相信它仍然有效。

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.GTK_version
2
-vm
/opt/jdk/jdk1.7.0_67/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m