Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-7724

BPEL Editor throws SWTException on startup because color registry is not initialized

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Blocker
    • 3.2.0.Beta2
    • 3.2.0.Beta2
    • bpel
    • None
    • Hide

      difficult to repro because thread creation is not determinate.

      Show
      difficult to repro because thread creation is not determinate.

    Description

      This is a threading issue: during startup, the color and image registries are initialized in the CommonUIPlugin, but two (or more) threads are using the color registry when the editor is started; one of these threads initiates the registry creation and is interrupted by the other thread which attempts to use it before it has been properly initialized.

      The result is that an SWT exception is thrown. Stack trace follows:

      org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: Argument cannot be null)
      at org.eclipse.swt.SWT.error(SWT.java:4083)
      at org.eclipse.swt.SWT.error(SWT.java:3998)
      at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
      at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3527)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3174)
      at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
      at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
      at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
      at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
      at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
      at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
      at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
      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:616)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
      at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
      Caused by: java.lang.IllegalArgumentException: Argument cannot be null
      at org.eclipse.swt.SWT.error(SWT.java:4064)
      at org.eclipse.swt.SWT.error(SWT.java:3998)
      at org.eclipse.swt.SWT.error(SWT.java:3969)
      at org.eclipse.swt.graphics.GC.setBackground(GC.java:3073)
      at org.eclipse.bpel.common.ui.tray.TraySash$TrayTextureCanvas$1.paintControl(TraySash.java:71)
      at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:223)
      at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
      at org.eclipse.swt.widgets.Control.gtk_expose_event(Control.java:2781)
      at org.eclipse.swt.widgets.Composite.gtk_expose_event(Composite.java:701)
      at org.eclipse.swt.widgets.Canvas.gtk_expose_event(Canvas.java:167)
      at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1739)
      at org.eclipse.swt.widgets.Control.windowProc(Control.java:4794)
      at org.eclipse.swt.widgets.Display.windowProc(Display.java:4372)
      at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
      at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8163)
      at org.eclipse.swt.widgets.Display.eventProc(Display.java:1239)
      at org.eclipse.swt.internal.gtk.OS._gdk_window_process_all_updates(Native Method)
      at org.eclipse.swt.internal.gtk.OS.gdk_window_process_all_updates(OS.java:5327)
      at org.eclipse.swt.widgets.Display.update(Display.java:4325)
      at org.eclipse.ui.internal.LegacyAnimationFeedback.renderStep(LegacyAnimationFeedback.java:60)
      at org.eclipse.ui.internal.AnimationEngine.updateDisplay(AnimationEngine.java:134)
      at org.eclipse.ui.internal.AnimationEngine$1.run(AnimationEngine.java:122)
      at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164)
      at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
      at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
      at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
      ... 23 more

      Attachments

        Activity

          People

            bbrodt_jira Robert (Bob) Brodt (Inactive)
            bbrodt_jira Robert (Bob) Brodt (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: