Eclipse Luna - Erro de inicialização no Linux

Leia isto "em cerca de 5 minutos".

Apesar do Eclipse ser uma IDE famosa e de ótimos recursos, ele (como qualquer outras aplicação) não está livre de bugs. Esse post é para uma correção de um bug no Eclipse Luna para o Linux.

Recentemente instalei o Eclipse Luna (Version: Luna Release (4.4.0)) no meu Debian Wheezy (7.8) e após inicia-lo me deparei que o Eclipse não carregava. Para um entendimento melhor, a tela de splash do Eclipse Luna carregava, só que depois a mesma desaparecia e o Eclipse não iniciava.

Resolvi iniciar o Eclipse Luna pelo terminal e obtive esta saída de informações e erro:

 1 org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry after the state location is initialized.
 2 
 3 (java:4348): GLib-GObject-WARNING **: cannot register existing type `GdkDisplayManager'
 4 
 5 (java:4348): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
 6 
 7 (java:4348): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
 8 
 9 (java:4348): GLib-GObject-WARNING **: invalid (NULL) pointer instance
10 
11 (java:4348): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
12 
13 (java:4348): GLib-GObject-WARNING **: invalid (NULL) pointer instance
14 
15 (java:4348): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
16 
17 (java:4348): GLib-GObject-WARNING **: cannot register existing type `GdkDisplay'
18 
19 (java:4348): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
20 
21 (java:4348): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed
22 
23 (java:4348): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
24 
25 (java:4348): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
26 #
27 # A fatal error has been detected by the Java Runtime Environment:
28 #
29 #  SIGSEGV (0xb) at pc=0x00007ff64d98073f, pid=4348, tid=140696239372032
30 #
31 # JRE version: 6.0_34-b34
32 # Java VM: OpenJDK 64-Bit Server VM (23.25-b01 mixed mode linux-amd64 compressed oops)
33 # Derivative: IcedTea6 1.13.6
34 # Distribution: Debian GNU/Linux 7.6 (wheezy), package 6b34-1.13.6-1~deb7u1
35 # Problematic frame:
36 # C  [libgdk-x11-2.0.so.0+0x5173f]  gdk_display_open+0x3f
37 #
38 # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
39 #
40 # An error report file with more information is saved as:
41 # /home/william/eclipse/hs_err_pid4348.log
42 #
43 # If you would like to submit a bug report, please include
44 # instructions how to reproduce the bug and visit:
45 #   http://icedtea.classpath.org/bugzilla
46 # The crash happened outside the Java Virtual Machine in native code.
47 # See problematic frame for where to report the bug.
48 #

Quando olhei essas informações percebi que tinha algo estranho com GTK, e com pesquisas e mais pesquisas no Google, descobri que para resolver o problema de inicialização do Eclipse Luna, bastava realizar umas configurações no arquivo eclipse.ini que está presente no diretório do Eclipse e também configurar o arquivo ~/.bashrc no home d seu usuário no Linux.

As configurações que fiz foram as seguintes:

Arquivo: eclipse.ini

 1 -startup
 2 plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
 3 --launcher.library
 4 plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
 5 -product
 6 org.eclipse.epp.package.jee.product
 7 --launcher.defaultAction
 8 openFile
 9 -showsplash
10 org.eclipse.platform
11 --launcher.XXMaxPermSize
12 256m
13 --launcher.defaultAction
14 openFile
15 --launcher.GTK_version
16 2
17 --launcher.appendVmargs
18 -vmargs
19 -Dosgi.requiredJavaVersion=1.6
20 -XX:MaxPermSize=256m
21 -Xms40m
22 -Xmx512m

A configurações realizadas no arquivo eclipse.ini, foram o acrescentamento de duas linhas:

1 --launcher.GTK_version
2 2

Essas duas linhas faz com que o Eclipse Luna passa a usar o GTK versão 2. Essas linhas devem ser acrescentadas entre da linha openFile e a linha –launcher.appendVmargs.

Arquivo: ~/.bashrc

O arquivo .bashrc fica oculto na pasta de seu usuário no Linux. Para configura-lo faça:

  • 1 - Abra o arquivo:
1 $ vim ~/.bashrc
  • 2 - Adicione a seguinte linha no final:
export SWT_GTK3=0

Obs: Para abrir o arquivo ./bashrc, utilizei o editor vim. Você pode usar um de sua preferência.

Nota: Lembrando que tive esse problema com o Eclipse Luna foi no ambiente gráfico XFCE, não testei o Eclipse com outros ambientes gráficos como o KDE ou Gnome por exemplo.

Com essas configurações, executei o Eclipse Luna novamente e o mesmo iniciou sem problema algum. :wink: É isso aí, bons códigos.

jektify © 2018  +

Música

A Palavra:

"Preocupações roubam a felicidade da gente, mas as palavras amáveis nos alegram.""
(Provérbios 12:25 NTLH)

Deixe seu comentário