Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 497150 - UI menus don't open and some features are disabled
Summary: UI menus don't open and some features are disabled
Status: RESOLVED DUPLICATE of bug 486069
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.5.2   Edit
Hardware: PC Linux
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-01 09:20 EDT by Nicola Buso CLA
Modified: 2016-07-03 02:54 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicola Buso CLA 2016-07-01 09:20:31 EDT
Operating System: Fedora 24

Eclipse:
Eclipse Java EE IDE for Web Developers.

Version: Mars.2 Release (4.5.2)
Build id: 20160218-0600
------------------------------------

Several dialogs don't open at all and features like 'Search' are disabled.

- 1 -
Java EE perspective
Menu: Help -> Installation Details

No dialog is opening and in workspace/.metadata/.log the following exception appear:

!ENTRY org.eclipse.ui 4 0 2016-07-01 14:15:01.248
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
	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:1329)
	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:694)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
	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:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	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)
Caused by: java.lang.NullPointerException
	at org.eclipse.swt.widgets.TabFolder.gtk_switch_page(TabFolder.java:570)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2009)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4723)
	at org.eclipse.swt.internal.gtk.OS._gtk_widget_show(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_widget_show(OS.java:14774)
	at org.eclipse.swt.widgets.TabFolder.createItem(TabFolder.java:311)
	at org.eclipse.swt.widgets.TabItem.createWidget(TabItem.java:123)
	at org.eclipse.swt.widgets.TabItem.<init>(TabItem.java:75)
	at org.eclipse.ui.internal.about.InstallationDialog.createFolderItems(InstallationDialog.java:221)
	at org.eclipse.ui.internal.about.InstallationDialog.createDialogArea(InstallationDialog.java:200)
	at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:768)
	at org.eclipse.ui.internal.about.InstallationDialog.createContents(InstallationDialog.java:236)
	at org.eclipse.jface.window.Window.create(Window.java:430)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096)
	at org.eclipse.jface.window.Window.open(Window.java:792)
	at org.eclipse.ui.internal.about.InstallationHandler.execute(InstallationHandler.java:27)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
	at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	... 38 more


- 2 -
Java EE perspective
Menu: Search -> Search ...

The 'CTRL + H' shortcut is gray and on 'workspace/.metadata/.log' the following exception appear:

!ENTRY org.eclipse.ui 4 0 2016-07-01 14:16:42.530
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
	at org.eclipse.swt.widgets.TabFolder.gtk_switch_page(TabFolder.java:570)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2009)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4723)
	at org.eclipse.swt.internal.gtk.OS._gtk_widget_show(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_widget_show(OS.java:14774)
	at org.eclipse.swt.widgets.TabFolder.createItem(TabFolder.java:311)
	at org.eclipse.swt.widgets.TabItem.createWidget(TabItem.java:123)
	at org.eclipse.swt.widgets.TabItem.<init>(TabItem.java:75)
	at org.eclipse.search.internal.ui.SearchDialog.createPageArea(SearchDialog.java:437)
	at org.eclipse.search.internal.ui.util.ExtendedDialogWindow.createDialogArea(ExtendedDialogWindow.java:140)
	at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:768)
	at org.eclipse.jface.window.Window.create(Window.java:430)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096)
	at org.eclipse.search.internal.ui.SearchDialog.create(SearchDialog.java:301)
	at org.eclipse.jface.window.Window.open(Window.java:792)
	at org.eclipse.search.internal.ui.OpenSearchDialogAction.run(OpenSearchDialogAction.java:54)
	at org.eclipse.search.internal.ui.OpenSearchDialogAction.run(OpenSearchDialogAction.java:45)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:247)
	at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:228)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
	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:1329)
	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:694)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
	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:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	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)


The are other dialog that don't open, seem to me they are all related to similar UI library problems.
Comment 1 Noopur Gupta CLA 2016-07-01 09:29:59 EDT
java.lang.NullPointerException
	at org.eclipse.swt.widgets.TabFolder.gtk_switch_page(TabFolder.java:570)
...

Moving to SWT.
Comment 2 Robert Roth CLA 2016-07-01 09:38:42 EDT
I have also seen this with Eclipse Neon after the update to Fedora 24, I guess it has something to do with Eclipse GTK3 and GTK 3.20 (a change in the native methods used by gtk_switch_page). As a workaround one can force eclipse to use GTK2 (although I will never suggest that, but I also had to do it to be able to work).
Comment 3 Nicola Buso CLA 2016-07-01 09:57:34 EDT
I just gave try to Neon EE:

Eclipse Java EE IDE for Web Developers.

Version: Neon Release (4.6.0)
Build id: 20160613-1800

----------------------

The problem disappeared, I can open the "Installation Detail" dialog and search without having any exception in the .log file.
Presumable they know the GTK incompatibility but they did not merged back on 4.5.2 the solution?
Comment 4 Eric Williams CLA 2016-07-02 12:23:16 EDT
(In reply to Noopur Gupta from comment #1)
> java.lang.NullPointerException
> 	at org.eclipse.swt.widgets.TabFolder.gtk_switch_page(TabFolder.java:570)
> ...
> 
> Moving to SWT.

This is fixed with bug 486069. I can't speak for the other stack trace, not 100% sure this is an SWT issue.
Comment 5 Alexander Kurtakov CLA 2016-07-03 02:54:56 EDT
Marking as duplicate. Please reopen if you can still reproduce it with Neon cause Mars stream is closed.

*** This bug has been marked as a duplicate of bug 486069 ***