Bug 470997 - [Gtk] Package Explorer tree empty when switching from Debug to Java perspective
Summary: [Gtk] Package Explorer tree empty when switching from Debug to Java perspective
Status: CLOSED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.5   Edit
Hardware: PC Linux
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2015-06-25 09:20 EDT by Andreas Watermeyer CLA
Modified: 2017-08-01 12:55 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Watermeyer CLA 2015-06-25 09:20:50 EDT
The Package Exporer Tree is empty when I switch back from the Debug perspektive to the Java perspektive on my Ubuntu Gnome Desktop.

Empty means: Only triangles for tree nodes are displayed, no labels are displayed.

The following exception is in the error log.


java.lang.ArrayIndexOutOfBoundsException: 4
	at org.eclipse.swt.widgets.Table._getItem(Table.java:153)
	at org.eclipse.swt.widgets.Table.cellDataProc(Table.java:181)
	at org.eclipse.swt.widgets.Display.cellDataProc(Display.java:759)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2422)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3428)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
	at org.eclipse.jface.window.Window.open(Window.java:803)
	at org.eclipse.ui.internal.views.log.EventDetailsDialog.open(EventDetailsDialog.java:181)
	at org.eclipse.ui.internal.views.log.EventDetailsDialogAction.run(EventDetailsDialogAction.java:98)
	at org.eclipse.ui.internal.views.log.LogView$15.doubleClick(LogView.java:546)
	at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:832)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
	at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:829)
	at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1470)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1263)
	at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:252)
	at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1488)


eclipse.buildId=4.5.0.I20150603-2000
java.version=1.7.0_71
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product
Comment 1 Andrey Loskutov CLA 2015-06-25 09:26:19 EDT
Please give a hint which desktop are you using, which visual theme, and which gtk2 and gtk 3 versions are installed. On Fedora/RHEL you can run: rpm -qa | grep gtk2;rpm -qa | grep gtk3

I guess you using Eclipse with GTK3 (default) toolkit.
Comment 2 Andreas Watermeyer CLA 2015-06-25 10:22:41 EDT
$ dpkg -l | grep gtk2; dpkg -l | grep gtk3
ii  gtk2-engines                                                1:2.20.2-1ubuntu1                                   theme engines for GTK+ 2.x
ii  gtk2-engines:i386                                           1:2.20.2-1ubuntu1                                   theme engines for GTK+ 2.x
ii  gtk2-engines-aurora                                         1.5.1-2                                             Aurora gtk+-2.0 theme engine
ii  gtk2-engines-cleanice                                       2.4.1-3                                             CleanIce themes for GTK+ 2.x
ii  gtk2-engines-equinox                                        1.50-0ubuntu1                                       Equinox GTK+ theme engine
ii  gtk2-engines-murrine                                        0.98.2-0ubuntu1                                     cairo-based gtk+-2.0 theme engine
ii  gtk2-engines-murrine:i386                                   0.98.2-0ubuntu1                                     cairo-based gtk+-2.0 theme engine
ii  gtk2-engines-oxygen                                         1.2.2-0ubuntu1.1                                    Oxygen widget theme for GTK+-based applications
ii  gtk2-engines-oxygen:i386                                    1.2.2-0ubuntu1.1                                    Oxygen widget theme for GTK+-based applications
ii  gtk2-engines-pixbuf                                         2.24.10-0ubuntu6.1                                  pixbuf-based theme for GTK+ 2.x
ii  gtk2-engines-pixbuf:i386                                    2.24.10-0ubuntu6.1                                  pixbuf-based theme for GTK+ 2.x
ii  gtk2-engines-qtcurve                                        1.8.14-1                                            This is a set of widget styles for Gtk2 based apps
ii  gtk2-engines-xfce                                           2.8.1-3                                             GTK+-2.0 theme engine for Xfce
ii  indicator-application-gtk2                                  0.5.0-0ubuntu1                                      Application Indicators
ii  indicator-messages-gtk2                                     0.6.0-0ubuntu2                                      indicator that collects messages that need a response
ii  indicator-sound-gtk2                                        0.8.5.0-0ubuntu2.1                                  System sound indicator.
ii  libgtk2-notify-perl                                         0.05-3build1                                        Perl interface to libnotify
ii  libgtk2-perl                                                2:1.223-1build3                                     Perl interface to the 2.x series of the Gimp Toolkit library
ii  libgtk2-trayicon-perl                                       0.06-1build2                                        Perl interface to fill the system tray
ii  libgtk2.0-0                                                 2.24.10-0ubuntu6.1                                  GTK+ graphical user interface library
ii  libgtk2.0-0:i386                                            2.24.10-0ubuntu6.1                                  GTK+ graphical user interface library
ii  libgtk2.0-bin                                               2.24.10-0ubuntu6.1                                  programs for the GTK+ graphical user interface library
ii  libgtk2.0-cil                                               2.12.10-2ubuntu4                                    CLI binding for the GTK+ toolkit 2.12
ii  libgtk2.0-common                                            2.24.10-0ubuntu6.1                                  common files for the GTK+ graphical user interface library
ii  libgtk2.0-dev                                               2.24.10-0ubuntu6.1                                  development files for the GTK+ library
ii  libgwibber-gtk2                                             3.4.2-0ubuntu2.4                                    Gwibber GTK Widgets
ii  libwxgtk2.8-0                                               2.8.12.1-6ubuntu2                                   wxWidgets Cross-platform C++ GUI toolkit (GTK+ runtime)
ii  pinentry-gtk2                                               0.8.1-1ubuntu1                                      GTK+-2-based PIN or pass-phrase entry dialog for GnuPG
ii  python-gtk2                                                 2.24.0-3                                            Python bindings for the GTK+ widget set
ii  python-wxgtk2.8                                             2.8.12.1-6ubuntu2                                   wxWidgets Cross-platform C++ GUI toolkit (wxPython binding)
ii  appmenu-gtk3                                                0.3.92-0ubuntu1.1                                   Export GTK menus over DBus
ii  gtk3-engines-oxygen                                         1.0.2-0ubuntu2                                      Oxygen widget theme for GTK3-based applications
ii  gtk3-engines-unico                                          1.0.2-0ubuntu1                                      Unico Gtk+ 3 theme engine
ii  ibus-gtk3                                                   1.4.1-3ubuntu1                                      Intelligent Input Bus - GTK+3 support
ii  libavahi-ui-gtk3-0                                          0.6.30-5ubuntu2.1                                   Avahi GTK+ User interface library for GTK3
ii  libcanberra-gtk3-0                                          0.28-3ubuntu3                                       GTK+ 3.0 helper for playing widget event sounds with libcanberra
ii  libcanberra-gtk3-module                                     0.28-3ubuntu3                                       translates GTK3 widgets signals to event sounds
ii  libdbusmenu-gtk3-4                                          0.6.2-0ubuntu0.2                                    library for passing menus over DBus - GTK+ version
ii  libindicate-gtk3                                            0.6.92-0ubuntu1                                     library for raising indicators via DBus - GTK+ bindings
ii  python-aptdaemon.gtk3widgets                                0.43+bzr805-0ubuntu10                               Python GTK+ 3 widgets to run an aptdaemon client
Comment 3 Andreas Watermeyer CLA 2015-06-25 10:24:51 EDT
Preferences > General > Apperance:
Theme: GTK
Color and Font Theme: Classic Theme (current)
Comment 4 Andreas Watermeyer CLA 2015-06-25 10:28:56 EDT
The Desktop is Gnome Shell, not Unity.
Comment 5 Andrey Loskutov CLA 2015-06-26 16:15:24 EDT
(In reply to Andreas Watermeyer from comment #3)
> Preferences > General > Apperance:
> Theme: GTK
> Color and Font Theme: Classic Theme (current)

I meant which Gnome theme you are using? Can you please post gtk 3 version (probably dpkg -l | grep gtk-3)?

Is this error always reproducible with this stack trace? Can you please provide steps to reproduce? The stack trace you've posted doesn't seem to happen during the perspective switch - it looks more like happening on log entry double clicking.
Comment 6 Leo Ufimtsev CLA 2017-07-04 10:07:22 EDT
This issue doesn't seem to occur for me anymore. (Fedora/Ubuntu/Cent OS). -> lowering priority.


There was a stackoverflow on Eclipse, Gtk3 on unbuntu related to perspectives (or re-sizing in general), that may have caused the behaviour described:
Bug 497705 – Unhandled event loop > StackOverflow in Perspective 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=497705
In the mean time, the bug was fixed, (recently). 

Also, the selection logic was changed, (default selection), which is listed in the stack trace.

Can you please try the newest eclipse and let me know if the issue still occurs?

To download recent nightly/integration builds, please go here:
http://download.eclipse.org/eclipse/downloads/
- Scroll down to "4.x Integration Builds". 
- Click on the most recent stable build like "I201XXXXX...", 
- Find your platform in the "Eclipse SDK". Download the archive, extract it and run the 'eclipse' binary.

Please test on gtk3:
export SWT_GTK3=1
eclipse
Comment 7 Andreas Watermeyer CLA 2017-07-04 10:57:35 EDT
Doesnt appear anymore in current eclipse versions.