[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.tools.gef] UI SWTException: Invalid thread access during a stack command

I'm wondering if this is a bug, and if it is not a bug, what would be the
prefered method to fix this issue.  Below you can see a stack trace of the
SWT exception.

What we are doing here is using an org.eclipse.ui.newWizards wizard to
create a new model element.  The actual creation may take a while so the
creation of the model element has been placed into its own thread.  Creating
the new model element then creates a command stack change, which sends an
update to the editor, which calls into the framework to update the text for
the diagram name.  Since the name change is not in a UI thread we get the
SWT exception.

!ENTRY org.eclipse.core.runtime 4 2 2004-11-16 16:15:11.932
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.core.runtime".
!STACK 0
org.eclipse.swt.SWTException: Invalid thread access
 at org.eclipse.swt.SWT.error(SWT.java:2697)
 at org.eclipse.swt.SWT.error(SWT.java:2622)
 at org.eclipse.swt.SWT.error(SWT.java:2593)
 at org.eclipse.swt.widgets.Widget.error(Widget.java:385)
 at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:288)
 at org.eclipse.swt.widgets.Widget.getData(Widget.java:415)
 at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.g
etTab(DefaultTabFolder.java:159)
 at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.g
etItems(DefaultTabFolder.java:211)
 at
org.eclipse.ui.internal.presentations.newapi.AbstractTabFolder.findItem(Abst
ractTabFolder.java:169)
 at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.getTab(Pr
esentablePartFolder.java:378)
 at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.childProp
ertyChanged(PresentablePartFolder.java:311)
 at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.access$2(
PresentablePartFolder.java:310)
 at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder$3.propert
yChanged(PresentablePartFolder.java:84)
 at
org.eclipse.ui.internal.presentations.PresentablePart.firePropertyChange(Pre
sentablePart.java:90)
 at
org.eclipse.ui.internal.presentations.PresentablePart$1.propertyChanged(Pres
entablePart.java:62)
 at
org.eclipse.ui.internal.WorkbenchPartReference.firePropertyChange(WorkbenchP
artReference.java:342)
 at
org.eclipse.ui.internal.WorkbenchPartReference.partPropertyChanged(Workbench
PartReference.java:139)
 at
org.eclipse.ui.internal.WorkbenchPartReference$1.propertyChanged(WorkbenchPa
rtReference.java:63)
 at org.eclipse.ui.part.WorkbenchPart$1.run(WorkbenchPart.java:129)
 at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java
:616)
 at org.eclipse.core.runtime.Platform.run(Platform.java:747)
 at
org.eclipse.ui.part.WorkbenchPart.firePropertyChange(WorkbenchPart.java:127)
 at
org.eclipse.gef.ui.parts.GraphicalEditor.firePropertyChange(GraphicalEditor.
java:145)
 at
com.embarcadero.ui.infrastructure.gef.ui.parts.DiagramEditor.setDirty(Diagra
mEditor.java:580)
 at
com.embarcadero.ui.infrastructure.gef.ui.parts.DiagramEditor.commandStackCha
nged(DiagramEditor.java:562)
 at
org.eclipse.gef.commands.CommandStack.notifyListeners(CommandStack.java:186)
 at org.eclipse.gef.commands.CommandStack.execute(CommandStack.java:89)
 at
com.embarcadero.infrastructure.core.undoredo.ETCommandManager$ETCommandStack
.superExecute(ETCommandManager.java:57)
 at
com.embarcadero.infrastructure.core.undoredo.ETCommandManager.execute(ETComm
andManager.java:92)
 at
com.embarcadero.infrastructure.core.utils.XMLManip.setAttributeValue(XMLMani
p.java:359)
 at
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment.setXMIID(VersionableElement.java:298)
 at
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment.buildNodePresence(VersionableElement.java:1114)
 at
com.embarcadero.infrastructure.core.metamodel.core.constructs.Class.establis
hNodePresence(Class.java:99)
 at
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment.prepareNode(VersionableElement.java:87)
 at
com.embarcadero.infrastructure.core.metamodel.core.foundation.CreationFactor
y.prepareNewElement(CreationFactory.java:144)
 at
com.embarcadero.infrastructure.core.metamodel.core.foundation.CreationFactor
y.retrieveMetaType(CreationFactory.java:108)
 at
com.embarcadero.infrastructure.core.metamodel.core.foundation.FactoryRetriev
er.createType(FactoryRetriever.java:109)
 at
com.embarcadero.ui.infrastructure.wizard.NewElementWizard.doFinish(NewElemen
tWizard.java:122)
 at
com.embarcadero.ui.infrastructure.wizard.NewElementWizard$1.run(NewElementWi
zard.java:81)
 at
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext
.java:105)
92824 [ModalContext] ERROR
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment  - java.lang.NullPointerException