[jbosstools-dev] [m2e-dev] Fwd: any swt/gtk experts around?

Igor Fedorenko igor at ifedorenko.com
Tue Sep 2 07:59:04 EDT 2014


Well, yes, I did enable SWT debug to see why m2e tests are failing. As
you can see from the stack trace, Eclipse Workbench fails to start due
to the SWT problem, which in turn results in test failing later on.

I did some more looking into this and the problem appears to be specific
to headless X servers (both VNC and Xvfb are affected) on Centos. The
tests pass on Ubuntu, both in proper GUI session and using Xvfb and in
Centos GUI session. I am guessing one of GTK libraries shipped with
Centos misbehaves but don't know how to troubleshoot this further.

--
Regards,
Igor

On 2014-09-02, 7:02, Snjezana Peco wrote:
> I think, in some way, you have set SWT debug options on the server.
> Check if there is the .options file with the following lines:
>
> org.eclipse.ui/debug=true
> org.eclipse.ui/debug/swtdebug=true
> org.eclipse.ui/debug/swtdebugglobal=true
>
> Snjeza
>
> On 8/29/2014 3:34 PM, Fred Bricon wrote:
>> ---------- Message transféré ----------
>> De : "Igor Fedorenko" <igor at ifedorenko.com <mailto:igor at ifedorenko.com>>
>> Date : 29 août 2014 09:32
>> Objet : [m2e-dev] any swt/gtk experts around?
>> À : "Maven Integration for Eclipse developers mailing list"
>> <m2e-dev at eclipse.org <mailto:m2e-dev at eclipse.org>>
>> Cc :
>>
>> Few m2e tests started to fail recently on our CI system. These
>> particular tests require Eclipse Workbench, which apparently fails to
>> start due to some SWT/GTK misconfiguration. The same tests pass on my
>> OSX laptop and Linux desktop, so the problem must be with our CI system,
>> which runs centos 6.5, btw.
>>
>> The CI system has GTK2 libraries installed, but forcing SWT_GTK3=0 does
>> not make any difference.
>>
>> I see the exception below when I enable SWT debug log, but this does not
>> tell me anything.
>>
>> Has anyone seen this kind of problem before? Any suggestions how to
>> troubleshoot this further?
>>
>>
>>
>> java.lang.Error
>>         at org.eclipse.swt.graphics.Device.logProc(Device.java:755)
>>         at org.eclipse.swt.internal.gtk.OS._gtk_container_add(Native
>> Method)
>>         at org.eclipse.swt.internal.gtk.OS.gtk_container_add(OS.java:7142)
>>         at
>> org.eclipse.swt.widgets.Composite.createHandle(Composite.java:317)
>>         at org.eclipse.swt.widgets.Shell.createHandle(Shell.java:727)
>>         at org.eclipse.swt.widgets.Widget.createWidget(Widget.java:422)
>>         at org.eclipse.swt.widgets.Control.createWidget(Control.java:666)
>>         at
>> org.eclipse.swt.widgets.Scrollable.createWidget(Scrollable.java:153)
>>         at
>> org.eclipse.swt.widgets.Decorations.createWidget(Decorations.java:245)
>>         at org.eclipse.swt.widgets.Shell.<init>(Shell.java:282)
>>         at org.eclipse.swt.widgets.Shell.<init>(Shell.java:360)
>>         at
>> org.eclipse.ui.internal.quickaccess.SearchField.createWidget(SearchField.java:201)
>>         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:601)
>>         at
>> org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
>>         at
>> org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:888)
>>         at
>> org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:120)
>>         at
>> org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:337)
>>         at
>> org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:271)
>>         at
>> org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:186)
>>         at
>> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:107)
>>         at
>> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
>>         at
>> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:50)
>>         at
>> org.eclipse.e4.ui.workbench.renderers.swt.ToolControlRenderer.createWidget(ToolControlRenderer.java:108)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:983)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731)
>>         at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.handleEvent(PartRenderingEngine.java:289)
>>         at
>> org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
>>         at
>> org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
>>         at
>> org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156)
>>         at org.eclipse.swt.widgets.Display.syncExec(Display.java:4622)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:218)
>>         at
>> org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
>>         at
>> org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
>>         at
>> org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
>>         at
>> org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
>>         at
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>>         at
>> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
>>         at
>> org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
>>         at
>> org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
>>         at
>> org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
>>         at
>> org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
>>         at
>> org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
>>         at
>> org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
>>         at
>> org.eclipse.emf.ecore.util.EcoreEList.dispatchNotification(EcoreEList.java:249)
>>         at
>> org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:356)
>>         at
>> org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:341)
>>         at
>> org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer.processAddition(ContributionsAnalyzer.java:369)
>>         at
>> org.eclipse.e4.ui.workbench.renderers.swt.TrimBarRenderer.addTrimContributions(TrimBarRenderer.java:194)
>>         at
>> org.eclipse.e4.ui.workbench.renderers.swt.TrimBarRenderer.processContents(TrimBarRenderer.java:166)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:547)
>>         at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:531)
>>         at
>> org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:687)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731)
>>         at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1074)
>>         at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>         at
>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
>>         at
>> org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
>>         at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
>>         at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>         at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
>>         at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
>>         at
>> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
>>         at
>> org.eclipse.tycho.surefire.osgibooter.UITestApplication.runApplication(UITestApplication.java:31)
>>         at
>> org.eclipse.tycho.surefire.osgibooter.AbstractUITestApplication.run(AbstractUITestApplication.java:115)
>>         at
>> org.eclipse.tycho.surefire.osgibooter.UITestApplication.start(UITestApplication.java:37)
>>         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:382)
>>         at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
>>         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:601)
>>         at
>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
>>         at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
>>         at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
>>         at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
>>
>>
>>
>>
>>
>> --
>> Regards,
>> Igor
>> _______________________________________________
>> m2e-dev mailing list
>> m2e-dev at eclipse.org <mailto:m2e-dev at eclipse.org>
>> To change your delivery options, retrieve your password, or
>> unsubscribe from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/m2e-dev
>>
>>
>> _______________________________________________
>> jbosstools-dev mailing list
>> jbosstools-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
>
>
> _______________________________________________
> m2e-dev mailing list
> m2e-dev at eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/m2e-dev
>


More information about the jbosstools-dev mailing list