Bug 1379801 - JBDS 9.1 with GTK 3.20 NullPointerException "Unhandled event loop exception"
Summary: JBDS 9.1 with GTK 3.20 NullPointerException "Unhandled event loop exception"
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: JBoss Data Virtualization 6
Classification: JBoss
Component: Teiid Designer
Version: 6.3.0
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
: ---
Assignee: Barry LaFond
QA Contact: Matus Makovy
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-27 17:11 UTC by Gerald Nunn
Modified: 2016-09-29 08:49 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-09-29 08:49:42 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker TEIIDDES-2883 0 Critical Open Issue with Fedora 24 and GTK3 2016-09-29 08:49:42 UTC

Description Gerald Nunn 2016-09-27 17:11:44 UTC
Description of problem:

When using JBDS 9.1 with GTK 3.20, trying to open some of the dialogs like "New Driver Defintiion" fails with the error "Unhandled event loop exception". This appears to because of an incompatibility between SWT and GTK 3.20 as documented here:

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

Version-Release number of selected component (if applicable):


How reproducible: Always

Steps to Reproduce:
1. Create JDBC Connection in guide
2. Click "New Driver Definition" button
3.

Actual results: 

Error with following stack trace:

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.datatools.connectivity.internal.ui.dialogs.DriverDialog.createDialogArea(DriverDialog.java:298)
	at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(TitleAreaDialog.java:161)
	at org.eclipse.datatools.connectivity.internal.ui.dialogs.DriverDialog.createContents(DriverDialog.java:734)
	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.datatools.connectivity.internal.ui.DriverListCombo$NewButtonSelectionChangedListener.widgetSelected(DriverListCombo.java:813)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
	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.jface.window.Window.runEventLoop(Window.java:827)
	at org.eclipse.jface.window.Window.open(Window.java:803)
	at org.eclipse.datatools.connectivity.ui.actions.AddProfileViewAction.execute(AddProfileViewAction.java:198)
	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.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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	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)


Expected results:

Dialog opens

Additional info:

This can be worked around by forcing eclipse to use GTK 2. To do so, modify studio/jbdevstudio.ini to add the following:

--launcher.GTK_version
2

Comment 2 Matus Makovy 2016-09-29 08:49:42 UTC
We are using JIRA to track issues for tooling.
This is reported here: https://issues.jboss.org/browse/TEIIDDES-2883

I will close this BZ - see linked JIRA for more info.


Note You need to log in before you can comment on or make changes to this bug.