Community
Participate
Working Groups
When updating the changes from a remote network the DawnDiagramUpdater throws a SWTException because the data manipulation is not done in the correct displays thread. This problem occurs even on simple operations like moving a node. Surprisingly this only occurs on the new Ecore Diagram editor. So it might be that the problem is related to the fact that the GMF diagram is generated on an older version of GMF (I think 2.0 or 2.1) org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4091) at org.eclipse.swt.SWT.error(SWT.java:4006) at org.eclipse.swt.SWT.error(SWT.java:3977) at org.eclipse.swt.widgets.Display.error(Display.java:1250) at org.eclipse.swt.widgets.Display.checkDevice(Display.java:756) at org.eclipse.swt.widgets.Display.getHighContrast(Display.java:1833) at org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure.setGradientData(NodeFigure.java:365) at org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart.setBackgroundColor(ShapeNodeEditPart.java:289) at org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart.refreshBackgroundColor(ShapeNodeEditPart.java:260) at org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeEditPart.refreshVisuals(ShapeEditPart.java:206) at org.eclipse.gmf.runtime.diagram.ui.editparts.NoteEditPart.refreshVisuals(NoteEditPart.java:267) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:717) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:633) at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.access$3(GraphicalEditPart.java:1) at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart$3.run(GraphicalEditPart.java:861) at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:328) at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.refresh(GraphicalEditPart.java:851) at org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater.refeshEditpartInternal(DawnDiagramUpdater.java:142) at org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater.refeshEditpartInternal(DawnDiagramUpdater.java:167) at org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater.refreshEditPart(DawnDiagramUpdater.java:72) at org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater$2.run(DawnDiagramUpdater.java:83) at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:328) at org.eclipse.emf.cdo.dawn.util.DawnDiagramUpdater.refreshEditPart(DawnDiagramUpdater.java:79) at org.eclipse.emf.cdo.dawn.notifications.impl.DawnGMFHandler.handleObject(DawnGMFHandler.java:235) at org.eclipse.emf.cdo.dawn.notifications.impl.DawnGMFHandler.handleViewInvalidationEvent(DawnGMFHandler.java:78) at org.eclipse.emf.cdo.dawn.notifications.BasicDawnListener.notifyEvent(BasicDawnListener.java:61) at org.eclipse.net4j.util.event.Notifier.fireEventSafe(Notifier.java:133) at org.eclipse.net4j.util.event.Notifier.fireEvent(Notifier.java:97) at org.eclipse.emf.internal.cdo.view.CDOViewImpl.fireInvalidationEvent(CDOViewImpl.java:441) at org.eclipse.emf.internal.cdo.view.CDOViewImpl.invalidate(CDOViewImpl.java:387) at org.eclipse.emf.internal.cdo.session.CDOSessionImpl$InvalidationRunnable.invalidateView(CDOSessionImpl.java:1760) at org.eclipse.emf.internal.cdo.session.CDOSessionImpl$InvalidationRunnable.run(CDOSessionImpl.java:1742) at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:26) at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:1) at org.eclipse.net4j.util.concurrent.QueueWorker.work(QueueWorker.java:75) at org.eclipse.net4j.util.concurrent.Worker$WorkerThread.run(Worker.java:206)
Created attachment 185869 [details] Patch v1 - for future reference The attached patch solves the issue but I need to have a closer look to the problem and find out why it does not occur on Acore diagram.
*** Bug 339661 has been marked as a duplicate of this bug. ***
Moving all open problem reports to 4.0
As this error did not occur for nearly a year I resolve this bug as WORKSFORME.
Closing.