-
Notifications
You must be signed in to change notification settings - Fork 8
Closed
Labels
Milestone
Description
Running "Check Flow Latency" analysis on my iMac fails with an exception
java.lang.IllegalStateException: Cannot modify resource set without a write transaction
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.assertWriting(TransactionChangeRecorder.java:349)
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.appendNotification(TransactionChangeRecorder.java:303)
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.processResourceNotification(TransactionChangeRecorder.java:273)
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.notifyChanged(TransactionChangeRecorder.java:239)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.dispatchNotification(NotifyingListImpl.java:261)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:294)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:304)
at org.osate.analysis.flows.FlowLatencyUtil.saveAnalysisResult(FlowLatencyUtil.java:544)
at org.osate.analysis.flows.handlers.CheckFlowLatency.finalizeAnalysis(CheckFlowLatency.java:130)
at org.osate.ui.handlers.AbstractInstanceOrDeclarativeModelReadOnlyHandler.doAaxlAction(AbstractInstanceOrDeclarativeModelReadOnlyHandler.java:125)
at org.osate.ui.handlers.AbstractAaxlHandler.processAaxlAction(AbstractAaxlHandler.java:482)
at org.osate.ui.handlers.AbstractAaxlHandler.actionBody(AbstractAaxlHandler.java:191)
at org.osate.ui.handlers.AaxlReadOnlyHandlerAsJob$ActionAsJob.runInWorkspace(AaxlReadOnlyHandlerAsJob.java:124)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Upon investigation the TransactionChangeRecorder's editing domain has a null transaction reference when assertWriting is called.
This doesn't seem to happen on any one's Windows machines, or on Joe's MacBook.
I found an old error report on the web that had the same error: https://bugs.eclipse.org/bugs/show_bug.cgi?id=371717
Basically this is a threading issue. There is some missing synchronization somewhere. This isn't an issue on the other computers, I think, because the threads are being managed differently. My computer is newer and has more cores and that is probably what is making the problem appear.