Bug 477247 - Invalid thread access from IDEWorkbenchAdvisor
Summary: Invalid thread access from IDEWorkbenchAdvisor
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.5   Edit
Hardware: PC Windows 7
: P3 normal with 3 votes (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2015-09-11 18:37 EDT by Donald Oakes CLA
Modified: 2021-06-18 09:08 EDT (History)
12 users (show)

See Also:


Attachments
Here's the PDE launch config (2.01 KB, text/plain)
2015-09-17 12:12 EDT, Donald Oakes CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Donald Oakes CLA 2015-09-11 18:37:17 EDT
Sometimes when running and Eclipse Application debug configuration, the child workspace crashes with the following stack trace.  Once this happens, it will occur every time I try to invoke the launch configuration.  The only way I've found to work around this is to create a brand new launch config.

!ENTRY org.eclipse.osgi 4 0 2015-09-01 15:50:03.300
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTException: Invalid thread access
  at org.eclipse.swt.SWT.error(SWT.java:4491)
  at org.eclipse.swt.SWT.error(SWT.java:4406)
  at org.eclipse.swt.SWT.error(SWT.java:4377)
  at org.eclipse.swt.widgets.Display.error(Display.java:1258)
  at org.eclipse.swt.widgets.Display.checkDevice(Display.java:764)
  at org.eclipse.swt.widgets.Display.addListener(Display.java:626)
  at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.<init>(IDEWorkbenchAdvisor.java:169)
  at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.<init>(IDEWorkbenchAdvisor.java:177)
  at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:140)
  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:497)
  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)
Comment 1 Donald Oakes CLA 2015-09-17 12:12:06 EDT
Created attachment 256646 [details]
Here's the PDE launch config
Comment 2 Manoj Agrawal CLA 2015-09-24 11:36:03 EDT
I encountered the same issue. 
I tried copying existing launch configuration but that did not resolve the issue. Only workaround is to create a new launch configuration.
Comment 3 Rüdiger Herrmann CLA 2017-11-02 09:04:43 EDT
I have also seen this exception when starting a regular Eclipse installation.
Comment 4 Dani Megert CLA 2017-11-13 11:01:54 EST
(In reply to Rüdiger Herrmann from comment #3)
> I have also seen this exception when starting a regular Eclipse installation.

Can you provide steps?
Comment 5 Mark Thornton CLA 2017-11-15 06:36:08 EST
(In reply to Rüdiger Herrmann from comment #3)
> I have also seen this exception when starting a regular Eclipse installation.

So have I. In fact I have it right now. It occurred after having to kill eclipse as it was hung in search). My stack trace is

!ENTRY org.eclipse.equinox.preferences 4 2 2017-11-15 11:25:32.423
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.equinox.preferences".
!STACK 0
java.lang.ExceptionInInitializerError
	at org.eclipse.pde.internal.ui.editor.text.ColorManager.initializeDefaults(ColorManager.java:51)
	at org.eclipse.pde.internal.ui.preferences.PreferenceInitializer.initializeDefaultPreferences(PreferenceInitializer.java:25)
	at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper$1.run(PreferenceServiceRegistryHelper.java:298)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.runInitializer(PreferenceServiceRegistryHelper.java:301)
	at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.applyRuntimeDefaults(PreferenceServiceRegistryHelper.java:131)
	at org.eclipse.core.internal.preferences.PreferencesService.applyRuntimeDefaults(PreferencesService.java:371)
	at org.eclipse.core.internal.preferences.DefaultPreferences.applyRuntimeDefaults(DefaultPreferences.java:222)
	at org.eclipse.core.internal.preferences.DefaultPreferences.load(DefaultPreferences.java:276)
	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:370)
	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:623)
	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:766)
	at org.eclipse.core.internal.preferences.AbstractScope.getNode(AbstractScope.java:38)
	at org.eclipse.core.runtime.preferences.DefaultScope.getNode(DefaultScope.java:74)
	at org.eclipse.pde.internal.core.PDEPreferencesManager.<init>(PDEPreferencesManager.java:34)
	at org.eclipse.pde.internal.ui.PDEPlugin.getPreferenceManager(PDEPlugin.java:66)
	at org.eclipse.pde.internal.ui.shared.target.TargetStatus.initializeTargetStatus(TargetStatus.java:185)
	at org.eclipse.pde.internal.ui.PDEPlugin.start(PDEPlugin.java:193)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:933)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309)
	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
	at org.eclipse.osgi.container.Module.start(Module.java:449)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:103)
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:442)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
	at java.lang.Class.getConstructor0(Class.java:3075)
	at java.lang.Class.newInstance(Class.java:412)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
	at org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants$1.run(JavaModelManager.java:442)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants.getCompilationParticipants(JavaModelManager.java:437)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.initializeBuilder(JavaBuilder.java:589)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:169)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:4533)
	at org.eclipse.swt.SWT.error(SWT.java:4448)
	at org.eclipse.swt.SWT.error(SWT.java:4419)
	at org.eclipse.swt.widgets.Display.error(Display.java:1089)
	at org.eclipse.swt.widgets.Display.createDisplay(Display.java:840)
	at org.eclipse.swt.widgets.Display.create(Display.java:823)
	at org.eclipse.swt.graphics.Device.<init>(Device.java:129)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:722)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:713)
	at org.eclipse.swt.widgets.Display.getDefault(Display.java:1419)
	at org.eclipse.jface.preference.PreferenceConverter.<clinit>(PreferenceConverter.java:94)
	... 63 more
Comment 6 Dani Megert CLA 2017-11-15 11:26:00 EST
(In reply to Mark Thornton from comment #5)
> (In reply to Rüdiger Herrmann from comment #3)
> > I have also seen this exception when starting a regular Eclipse installation.
> 
> So have I. In fact I have it right now. It occurred after having to kill
> eclipse as it was hung in search).

I tried that with the steps in https://bugs.eclipse.org/bugs/show_bug.cgi?id=519185#c30 but there was no issue on the next start.


> My stack trace is

Can you attach the complete stack trace?
Comment 8 Stuart Fairful CLA 2018-01-08 10:33:51 EST
I am getting a very similar exception, though it is originating in a different place.  This is happening at start-up, and it is happening almost every time.  I've just upgraded to Oxygen 2, which made no difference.  I'm running OSX and the only way I can get it to start up by going into the contents of the Eclipse.app and removing the directory /Applications/Eclipse.app/Contents/Eclipse/configuration/org.eclipse.osgi.  (It looked like a bundle cache so I thought what the hell...) I now have to do this before every start up.

Stack trace as follows

!SESSION 2018-01-08 15:30:19.152 -----------------------------------------------
eclipse.buildId=4.7.2.M20171130-0510
java.version=1.8.0_74
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_GB
Framework arguments:  -product org.eclipse.epp.package.java.product -keyring /Users/stuartfairful/.eclipse_keyring
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/stuartfairful/.eclipse_keyring

!ENTRY org.eclipse.equinox.preferences 4 2 2018-01-08 15:30:21.576
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.equinox.preferences".
!STACK 0
java.lang.ExceptionInInitializerError
	at org.eclipse.jdt.ui.PreferenceConstants.initializeDefaultValues(PreferenceConstants.java:3833)
	at org.eclipse.jdt.internal.ui.JavaUIPreferenceInitializer.initializeDefaultPreferences(JavaUIPreferenceInitializer.java:35)
	at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper$1.run(PreferenceServiceRegistryHelper.java:298)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.runInitializer(PreferenceServiceRegistryHelper.java:301)
	at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.applyRuntimeDefaults(PreferenceServiceRegistryHelper.java:131)
	at org.eclipse.core.internal.preferences.PreferencesService.applyRuntimeDefaults(PreferencesService.java:371)
	at org.eclipse.core.internal.preferences.DefaultPreferences.applyRuntimeDefaults(DefaultPreferences.java:222)
	at org.eclipse.core.internal.preferences.DefaultPreferences.load(DefaultPreferences.java:276)
	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:370)
	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:623)
	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:766)
	at org.eclipse.core.internal.preferences.AbstractScope.getNode(AbstractScope.java:38)
	at org.eclipse.core.runtime.preferences.DefaultScope.getNode(DefaultScope.java:74)
	at org.eclipse.ui.preferences.ScopedPreferenceStore.getDefaultPreferences(ScopedPreferenceStore.java:233)
	at org.eclipse.ui.preferences.ScopedPreferenceStore.getPreferenceNodes(ScopedPreferenceStore.java:264)
	at org.eclipse.ui.preferences.ScopedPreferenceStore.internalGet(ScopedPreferenceStore.java:412)
	at org.eclipse.ui.preferences.ScopedPreferenceStore.getBoolean(ScopedPreferenceStore.java:352)
	at org.eclipse.jdt.internal.ui.preferences.MembersOrderPreferenceCache.install(MembersOrderPreferenceCache.java:61)
	at org.eclipse.jdt.internal.ui.JavaPlugin.start(JavaPlugin.java:395)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:933)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309)
	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
	at org.eclipse.osgi.container.Module.start(Module.java:449)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:103)
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:442)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.eclipse.jdt.internal.junit.ui.JUnitPlugin.setCodeassistFavoriteStaticMembers(JUnitPlugin.java:219)
	at org.eclipse.jdt.internal.junit.ui.JUnitPlugin.start(JUnitPlugin.java:200)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:933)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309)
	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
	at org.eclipse.osgi.container.Module.start(Module.java:449)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1634)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1614)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1585)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1528)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:4533)
	at org.eclipse.swt.SWT.error(SWT.java:4448)
	at org.eclipse.swt.SWT.error(SWT.java:4419)
	at org.eclipse.swt.widgets.Display.error(Display.java:1090)
	at org.eclipse.swt.widgets.Display.createDisplay(Display.java:840)
	at org.eclipse.swt.widgets.Display.create(Display.java:823)
	at org.eclipse.swt.graphics.Device.<init>(Device.java:129)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:722)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:713)
	at org.eclipse.swt.widgets.Display.getDefault(Display.java:1420)
	at org.eclipse.jface.preference.PreferenceConverter.<clinit>(PreferenceConverter.java:94)
	... 58 more

!ENTRY org.eclipse.core.net 1 0 2018-01-08 15:30:22.953
!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences

!ENTRY org.eclipse.osgi 4 0 2018-01-08 15:30:24.595
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.jface.preference.PreferenceConverter
	at org.eclipse.ui.internal.themes.ThemeElementHelper.installFont(ThemeElementHelper.java:113)
	at org.eclipse.ui.internal.themes.ThemeElementHelper.populateRegistry(ThemeElementHelper.java:68)
	at org.eclipse.ui.internal.Workbench$22.runWithException(Workbench.java:1801)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4871)
	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
	at org.eclipse.ui.internal.Workbench.initializeFonts(Workbench.java:1794)
	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1642)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2848)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
	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:388)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
	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:653)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
Comment 9 Stephan Herrmann CLA 2018-01-08 16:23:10 EST
The following call chains wants to be executed on the UI thread:

org.eclipse.jdt.internal.ui.JavaPlugin.start
 ----...see comment 8...---->
org.eclipse.jdt.internal.ui.JavaUIPreferenceInitializer.initializeDefaultPreferences
org.eclipse.jdt.ui.PreferenceConstants.initializeDefaultValues
org.eclipse.jdt.internal.ui.JavaUIPreferenceInitializer.setThemeBasedPreferences
org.eclipse.jdt.internal.ui.JavaUIPreferenceInitializer.setDefault
class loader for org.eclipse.jface.preference.PreferenceConverter
org.eclipse.jface.preference.PreferenceConverter.<clinit>
org.eclipse.swt.widgets.Display.getDefault
 ----...more from comment 8...---->
org.eclipse.swt.widgets.Display.createDisplay
org.eclipse.swt.widgets.Display.error

The "Invalid thread access", however, seems to be secondary. Apparently we didn't succeed to create a display in the first place, and bail out while trying to report that error. At this point ...
- we have a different problem than was reported in comment 0
- things depend on OS-specific parts of SWT.

Anyway, requiring a display in order to report that no display could be created doesn't look good to me :)
Comment 10 Faiez Za CLA 2018-01-16 04:37:04 EST
I encountered the same issue when I run JUnit plugin test.
I have a test plugin generated by EMF tooling. Then, I completed the generated tests.
When I do "Class"Test.java -> right click ->run as -> JUnit plugin test,
my tests are correct but the console shows the following:

!ENTRY org.eclipse.core.net 1 0 2018-01-16 10:29:42.398
!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
***WARNING: Display must be created on main thread due to Cocoa restrictions.

!ENTRY org.eclipse.mylyn.tasks.ui 4 0 2018-01-16 10:29:51.072
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.stop() of bundle org.eclipse.mylyn.tasks.ui.
	at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:855)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:947)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:314)
	at org.eclipse.osgi.container.Module.doStop(Module.java:636)
	at org.eclipse.osgi.container.Module.stop(Module.java:498)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1675)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1594)
	at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:270)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:147)
	at org.eclipse.osgi.container.Module.doStop(Module.java:636)
	at org.eclipse.osgi.container.Module.stop(Module.java:498)
	at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ExceptionInInitializerError
	at org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.stop(TasksUiPlugin.java:816)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:835)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:828)
	... 13 more
Caused by: org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:4533)
	at org.eclipse.swt.SWT.error(SWT.java:4448)
	at org.eclipse.swt.SWT.error(SWT.java:4419)
	at org.eclipse.swt.widgets.Display.error(Display.java:1090)
	at org.eclipse.swt.widgets.Display.createDisplay(Display.java:840)
	at org.eclipse.swt.widgets.Display.create(Display.java:823)
	at org.eclipse.swt.graphics.Device.<init>(Device.java:129)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:722)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:713)
	at org.eclipse.swt.widgets.Display.getDefault(Display.java:1420)
	at org.eclipse.mylyn.commons.ui.compatibility.CommonColors.<clinit>(CommonColors.java:28)
	... 18 more
Root exception:
java.lang.ExceptionInInitializerError
	at org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.stop(TasksUiPlugin.java:816)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:835)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:828)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:947)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:314)
	at org.eclipse.osgi.container.Module.doStop(Module.java:636)
	at org.eclipse.osgi.container.Module.stop(Module.java:498)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1675)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1594)
	at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:270)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:147)
	at org.eclipse.osgi.container.Module.doStop(Module.java:636)
	at org.eclipse.osgi.container.Module.stop(Module.java:498)
	at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:4533)
	at org.eclipse.swt.SWT.error(SWT.java:4448)
	at org.eclipse.swt.SWT.error(SWT.java:4419)
	at org.eclipse.swt.widgets.Display.error(Display.java:1090)
	at org.eclipse.swt.widgets.Display.createDisplay(Display.java:840)
	at org.eclipse.swt.widgets.Display.create(Display.java:823)
	at org.eclipse.swt.graphics.Device.<init>(Device.java:129)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:722)
	at org.eclipse.swt.widgets.Display.<init>(Display.java:713)
	at org.eclipse.swt.widgets.Display.getDefault(Display.java:1420)
	at org.eclipse.mylyn.commons.ui.compatibility.CommonColors.<clinit>(CommonColors.java:28)
	... 18 more
Comment 11 Andrey Loskutov CLA 2018-01-16 04:38:32 EST
(In reply to Faiez Za from comment #10)
> I encountered the same issue when I run JUnit plugin test.

No, it is not same:

> org.eclipse.mylyn.commons.ui.compatibility.CommonColors.
> <clinit>(CommonColors.java:28)
> 	... 18 more

Please report a bug for Mylyn commons.
Comment 12 Faiez Za CLA 2018-01-16 04:41:45 EST
> No, it is not same:

Ok! 
Sorry.

> Please report a bug for Mylyn commons.

I will do this.
Comment 13 Jeremy Krieg CLA 2018-03-19 01:07:24 EDT
I think I have hit this bug too, which I originally found on StackOverflow (https://stackoverflow.com/questions/47872166/eclipse-oxygen-fails-to-run-org-eclipse-swt-swtexception-invalid-thread-acces). Deleting the configuration/org.eclipse.osgi directory from the configuration directory got me back up and running again. This happened on Windows 10, and it has happened with both jdk -.8.0_131 and jdk-9.0.4.

I decided to make a note that I *think* that this was triggered when internet connectivity was interrupted during some kind of bundle-download-related network operation (but I have not attempted to conclusively reproduce this).
Comment 14 Eclipse Genie CLA 2020-08-20 15:49:04 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 15 Olivier Jaquemet CLA 2021-06-18 06:09:05 EDT
I had the same problem after a failed update attempt of my workspace.

I could fix the issue by deleting a bunch of cache files in .metadata\.plugins\org.eclipse.jdt.core

I hope it will helps others facing the same issue.
Comment 16 Olivier Jaquemet CLA 2021-06-18 09:08:44 EDT
To be more specific : I was able to fix the same issue in another workspace only by deleting the *.index files in .metadata\.plugins\org.eclipse.jdt.core\