You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Nicolas Lalevée (JIRA)" <ji...@apache.org> on 2013/11/02 17:01:21 UTC

[jira] [Resolved] (IVYDE-351) SWTException in PreferenceInitializer

     [ https://issues.apache.org/jira/browse/IVYDE-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicolas Lalevée resolved IVYDE-351.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: trunk
         Assignee: Nicolas Lalevée

Patch applied on trunk. Thanks !

> SWTException in PreferenceInitializer
> -------------------------------------
>
>                 Key: IVYDE-351
>                 URL: https://issues.apache.org/jira/browse/IVYDE-351
>             Project: IvyDE
>          Issue Type: Bug
>    Affects Versions: 2.2.0.beta1
>            Reporter: Carsten Pfeiffer
>            Assignee: Nicolas Lalevée
>            Priority: Minor
>              Labels: easyfix, patch
>             Fix For: trunk
>
>         Attachments: initializer.patch
>
>
> PreferenceInitializer may be run by the framework in non-UI threads, so it cannot use the class PreferenceConverter (which uses/creates an SWT Display).
> PreferenceInitializer only uses the Converter class for serializing RGB values, so we can do that directly and skip PreferenceConverter entirely.
> {code}
> java.lang.ExceptionInInitializerError
>         at org.apache.ivyde.internal.eclipse.ui.preferences.PreferenceInitializer.initializeDefaultPreferences(PreferenceInitializer.java:194)
>         at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper$1.run(PreferenceServiceRegistryHelper.java:281)
>         at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
>         at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.runInitializer(PreferenceServiceRegistryHelper.java:284)
>         at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.applyRuntimeDefaults(PreferenceServiceRegistryHelper.java:130)
>         at org.eclipse.core.internal.preferences.PreferencesService.applyRuntimeDefaults(PreferencesService.java:368)
>         at org.eclipse.core.internal.preferences.DefaultPreferences.applyRuntimeDefaults(DefaultPreferences.java:166)
>         at org.eclipse.core.internal.preferences.DefaultPreferences.load(DefaultPreferences.java:237)
>         at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:387)
>         at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:631)
>         at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:757)
>         at org.eclipse.core.internal.preferences.AbstractScope.getNode(AbstractScope.java:38)
>         at org.eclipse.core.runtime.preferences.DefaultScope.getNode(DefaultScope.java:76)
>         at org.eclipse.ui.preferences.ScopedPreferenceStore.getDefaultPreferences(ScopedPreferenceStore.java:250)
>         at org.eclipse.ui.preferences.ScopedPreferenceStore.getPreferenceNodes(ScopedPreferenceStore.java:285)
>         at org.eclipse.ui.preferences.ScopedPreferenceStore.internalGet(ScopedPreferenceStore.java:475)
>         at org.eclipse.ui.preferences.ScopedPreferenceStore.getBoolean(ScopedPreferenceStore.java:387)
>         at org.apache.ivyde.internal.eclipse.cpcontainer.IvyClasspathContainerConfAdapter.convertOldRetrieveConf(IvyClasspathContainerConfAdapter.java:268)
>         at org.apache.ivyde.internal.eclipse.cpcontainer.IvyClasspathContainerConfAdapter.loadV1(IvyClasspathContainerConfAdapter.java:242)
>         at org.apache.ivyde.internal.eclipse.cpcontainer.IvyClasspathContainerConfAdapter.load(IvyClasspathContainerConfAdapter.java:71)
>         at org.apache.ivyde.eclipse.cp.IvyClasspathContainerConfiguration.<init>(IvyClasspathContainerConfiguration.java:95)
>         at org.apache.ivyde.internal.eclipse.cpcontainer.IvyClasspathContainerImpl.<init>(IvyClasspathContainerImpl.java:81)
>         at org.apache.ivyde.internal.eclipse.cpcontainer.IvyClasspathInitializer.initialize(IvyClasspathInitializer.java:114)
>         at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2841)
>         at org.eclipse.jdt.internal.core.JavaModelManager$11.run(JavaModelManager.java:2747)
>         at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
>         at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2787)
>         at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1871)
>         at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2811)
>         at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2689)
>         at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2853)
>         at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:219)
>         at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2040)
>         at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:470)
>         at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
>         at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
>         at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
>         at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:186)
>         at org.eclipse.core.internal.resources.SavedState.processResourceChangeEvents(SavedState.java:77)
>         at org.eclipse.jdt.internal.core.JavaModelManager$20.run(JavaModelManager.java:4919)
>         at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
>         at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326)
>         at org.eclipse.jdt.internal.core.JavaModelManager$19.run(JavaModelManager.java:4911)
>         at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> Caused by: org.eclipse.swt.SWTException: Invalid thread access
>         at org.eclipse.swt.SWT.error(SWT.java:4282)
>         at org.eclipse.swt.SWT.error(SWT.java:4197)
>         at org.eclipse.swt.SWT.error(SWT.java:4168)
>         at org.eclipse.swt.widgets.Display.error(Display.java:1210)
>         at org.eclipse.swt.widgets.Display.checkDevice(Display.java:752)
>         at org.eclipse.swt.widgets.Display.getSystemFont(Display.java:2323)
>         at org.eclipse.jface.preference.PreferenceConverter.<clinit>(PreferenceConverter.java:84)
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)