Community
Participate
Working Groups
At some point during a development session, a deadlock occurs while trying to create a new Java class. In the progress status line there is something about "collecting info", and the wizard is making no progress. After killing Eclipse, Eclipse refuses to start again. It complains of an exception on start-up and the following appears in the log. Leaving aside the deadlock for now (as I don't have much information), there is still another issue. The error message in the log does not help me get my workspace back into a valid state. Nor does it really indicate what went wrong.... !SESSION 2007-02-05 10:53:10.195 ----------------------------------------------- eclipse.buildId=M20060921-0945 java.version=1.6.0 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 !ENTRY org.eclipse.core.resources 2 10035 2007-02-05 10:53:11.476 !MESSAGE A workspace crash was detected. The previous session did not exit normally. !ENTRY org.eclipse.osgi 4 0 2007-02-05 10:53:11.914 !MESSAGE An error occurred while automatically activating bundle com.perforce.team.ui (10). !STACK 0 org.osgi.framework.BundleException: Exception in org.eclipse.core.internal.compatibility.PluginActivator.start() of bundle com.perforce.team.ui. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:1010) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:966) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:317) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:256) at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.preFindLocalClass(EclipseLazyStarter.java:86) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:409) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:188) at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:334) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:386) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:278) at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1245) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:147) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759) at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51) at org.eclipse.team.core.RepositoryProvider.newProvider(RepositoryProvider.java:661) at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:163) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:236) at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:462) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:87) at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:152) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1394) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) Caused by: java.lang.ExceptionInInitializerError at com.perforce.team.ui.PerforceUIPlugin.initializeDefaultPreferences(PerforceUIPlugin.java:284) at org.eclipse.ui.plugin.AbstractUIPlugin.initializeDefaultPluginPreferences(AbstractUIPlugin.java:358) at org.eclipse.core.runtime.Plugin.internalInitializeDefaultPluginPreferences(Plugin.java:445) at org.eclipse.core.internal.preferences.legacy.InitLegacyPreferences.init(InitLegacyPreferences.java:52) at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.applyRuntimeDefaults(PreferenceServiceRegistryHelper.java:146) at org.eclipse.core.internal.preferences.PreferencesService.applyRuntimeDefaults(PreferencesService.java:337) at org.eclipse.core.internal.preferences.DefaultPreferences.applyRuntimeDefaults(DefaultPreferences.java:162) at org.eclipse.core.internal.preferences.DefaultPreferences.loadDefaults(DefaultPreferences.java:231) at org.eclipse.core.internal.preferences.DefaultPreferences.load(DefaultPreferences.java:227) at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:307) at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:543) at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:662) at org.eclipse.core.internal.preferences.AbstractScope.getNode(AbstractScope.java:38) at org.eclipse.core.runtime.preferences.DefaultScope.getNode(DefaultScope.java:67) at org.eclipse.ui.preferences.ScopedPreferenceStore.getDefaultPreferences(ScopedPreferenceStore.java:248) at org.eclipse.ui.preferences.ScopedPreferenceStore.getPreferenceNodes(ScopedPreferenceStore.java:282) at org.eclipse.ui.preferences.ScopedPreferenceStore.internalGet(ScopedPreferenceStore.java:472) at org.eclipse.ui.preferences.ScopedPreferenceStore.getString(ScopedPreferenceStore.java:532) at com.perforce.team.ui.PerforceUIPlugin.setP4Location(PerforceUIPlugin.java:134) at com.perforce.team.ui.PerforceUIPlugin.startup(PerforceUIPlugin.java:96) at org.eclipse.core.internal.compatibility.PluginActivator.start(PluginActivator.java:31) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:991) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:985) ... 30 more Caused by: org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:3374) at org.eclipse.swt.SWT.error(SWT.java:3297) at org.eclipse.swt.SWT.error(SWT.java:3268) at org.eclipse.swt.widgets.Display.error(Display.java:978) at org.eclipse.swt.widgets.Display.checkDevice(Display.java:638) at org.eclipse.swt.widgets.Display.getSystemFont(Display.java:2038) at org.eclipse.jface.preference.PreferenceConverter.<clinit>(PreferenceConverter.java:83) ... 54 more Root exception: java.lang.ExceptionInInitializerError at com.perforce.team.ui.PerforceUIPlugin.initializeDefaultPreferences(PerforceUIPlugin.java:284) at org.eclipse.ui.plugin.AbstractUIPlugin.initializeDefaultPluginPreferences(AbstractUIPlugin.java:358) at org.eclipse.core.runtime.Plugin.internalInitializeDefaultPluginPreferences(Plugin.java:445) at org.eclipse.core.internal.preferences.legacy.InitLegacyPreferences.init(InitLegacyPreferences.java:52) at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.applyRuntimeDefaults(PreferenceServiceRegistryHelper.java:146) at org.eclipse.core.internal.preferences.PreferencesService.applyRuntimeDefaults(PreferencesService.java:337) at org.eclipse.core.internal.preferences.DefaultPreferences.applyRuntimeDefaults(DefaultPreferences.java:162) at org.eclipse.core.internal.preferences.DefaultPreferences.loadDefaults(DefaultPreferences.java:231) at org.eclipse.core.internal.preferences.DefaultPreferences.load(DefaultPreferences.java:227) at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:307) at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:543) at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:662) at org.eclipse.core.internal.preferences.AbstractScope.getNode(AbstractScope.java:38) at org.eclipse.core.runtime.preferences.DefaultScope.getNode(DefaultScope.java:67) at org.eclipse.ui.preferences.ScopedPreferenceStore.getDefaultPreferences(ScopedPreferenceStore.java:248) at org.eclipse.ui.preferences.ScopedPreferenceStore.getPreferenceNodes(ScopedPreferenceStore.java:282) at org.eclipse.ui.preferences.ScopedPreferenceStore.internalGet(ScopedPreferenceStore.java:472) at org.eclipse.ui.preferences.ScopedPreferenceStore.getString(ScopedPreferenceStore.java:532) at com.perforce.team.ui.PerforceUIPlugin.setP4Location(PerforceUIPlugin.java:134) at com.perforce.team.ui.PerforceUIPlugin.startup(PerforceUIPlugin.java:96) at org.eclipse.core.internal.compatibility.PluginActivator.start(PluginActivator.java:31) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:991) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:985) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:966) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:317) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:256) at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.preFindLocalClass(EclipseLazyStarter.java:86) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:409) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:188) at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:334) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:386) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:278) at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1245) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:147) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759) at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51) at org.eclipse.team.core.RepositoryProvider.newProvider(RepositoryProvider.java:661) at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:163) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:236) at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:462) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:87) at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:152) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1394) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) Caused by: org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:3374) at org.eclipse.swt.SWT.error(SWT.java:3297) at org.eclipse.swt.SWT.error(SWT.java:3268) at org.eclipse.swt.widgets.Display.error(Display.java:978) at org.eclipse.swt.widgets.Display.checkDevice(Display.java:638) at org.eclipse.swt.widgets.Display.getSystemFont(Display.java:2038) at org.eclipse.jface.preference.PreferenceConverter.<clinit>(PreferenceConverter.java:83) ... 54 more !ENTRY org.eclipse.team.core 4 0 2007-02-05 10:53:11.992 !MESSAGE Plug-in com.perforce.team.ui was unable to load class com.perforce.team.ui.UITeamProvider. !STACK 1 org.eclipse.core.runtime.CoreException: Plug-in com.perforce.team.ui was unable to load class com.perforce.team.ui.UITeamProvider. at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:165) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:149) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759) at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51) at org.eclipse.team.core.RepositoryProvider.newProvider(RepositoryProvider.java:661) at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:163) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:236) at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:462) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:87) at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:152) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1394) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) org.eclipse.core.runtime.CoreException[1]: java.lang.ClassNotFoundException: com.perforce.team.ui.UITeamProvider at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:278) at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1245) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:147) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759) at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51) at org.eclipse.team.core.RepositoryProvider.newProvider(RepositoryProvider.java:661) at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:163) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:236) at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:462) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:87) at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:152) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1394) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) !SUBENTRY 1 org.eclipse.equinox.registry 4 1 2007-02-05 10:53:11.992 !MESSAGE Plug-in com.perforce.team.ui was unable to load class com.perforce.team.ui.UITeamProvider. !STACK 0 java.lang.ClassNotFoundException: com.perforce.team.ui.UITeamProvider at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:278) at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1245) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:147) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759) at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51) at org.eclipse.team.core.RepositoryProvider.newProvider(RepositoryProvider.java:661) at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:163) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:236) at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:462) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:87) at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:152) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1394) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) !ENTRY org.eclipse.team.core 4 0 2007-02-05 10:53:11.992 !MESSAGE Could not instantiate provider com.perforce.team.core.PerforceTeamProvider for project Scanner Generator - User Interface. !STACK 1 org.eclipse.team.core.TeamException: Could not instantiate provider com.perforce.team.core.PerforceTeamProvider for project Scanner Generator - User Interface. at org.eclipse.team.core.RepositoryProvider.mapNewProvider(RepositoryProvider.java:166) at org.eclipse.team.core.RepositoryProvider.mapExistingProvider(RepositoryProvider.java:236) at org.eclipse.team.core.RepositoryProvider.getProvider(RepositoryProvider.java:462) at org.eclipse.team.internal.core.TeamHookDispatcher.getProvider(TeamHookDispatcher.java:97) at org.eclipse.team.internal.core.TeamHookDispatcher.getRuleFactory(TeamHookDispatcher.java:105) at org.eclipse.core.internal.resources.Rules.factoryFor(Rules.java:87) at org.eclipse.core.internal.resources.Rules.refreshRule(Rules.java:152) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1394) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:141) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) !SUBENTRY 1 org.eclipse.team.core 4 0 2007-02-05 10:53:11.992 !MESSAGE Could not instantiate provider com.perforce.team.core.PerforceTeamProvider for project Scanner Generator - User Interface. !ENTRY org.eclipse.osgi 4 0 2007-02-05 10:53:12.008 !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:101) at org.eclipse.ui.internal.themes.ThemeElementHelper.populateRegistry(ThemeElementHelper.java:57) at org.eclipse.ui.internal.Workbench.initializeFonts(Workbench.java:1157) at org.eclipse.ui.internal.Workbench.init(Workbench.java:1063) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1847) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)
Deleting ".metadata/.plugins/org.eclipse.core.resources/.snap" seems to fix the startup problem problem.
It turns out the perforce UI plugin extends team and that's causing plugin activation in a non-UI thread. They are calling into PreferenceConverter which is killing its class initialization. That both killed their plugin and org.eclipse.jface.preference.PreferenceConverter (which looks like it killed Themes and the workbench init). We can try and make the static initialization of PreferenceConverter safer. PW
We saw this a lot during some user testing with P4WSAD. I was about to send perforce support an email about it. Has anyone done that? Maybe they could update their plugin as well.
I just installed the P4WSAD 2007.3 beta from http://www.perforce.com/perforce/loadbeta.html#p4wsad, and I can confirm it resolves this problem. Haven't used it enough to say whether it adds any other problems, but it *does* solve the cannot-restart-Eclipse-after-unclean-shutdown problem. Don't forget to follow the uninstall instructions before upgrading.
*** This bug has been marked as a duplicate of bug 342711 ***