| Summary: | "Finite Difference Worker 1" - internal error error message | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Technology] STEM | Reporter: | Jan-Frederik Wigger <jan-frederik.wigger> | ||||
| Component: | Simulation | Assignee: | Stefan Edlund <sedlund> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | sedlund | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 1.1.2 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Assign to Stefan. I will try and get a fix in for the 1.2.3 release (Nov 21). The fix will be available in the 1.2.3 RC4 build. |
Created attachment 206928 [details] a toy scenario producing the error message During the simulation, an error message dialog pops up: An internal error occured during: "Finite Difference Worker 1". The corresponing console log message is: !ENTRY org.eclipse.core.jobs 4 2 2011-11-14 10:12:10.952 !MESSAGE An internal error occurred during: "Finite Difference Worker 1". !STACK 0 java.util.ConcurrentModificationException at org.eclipse.emf.common.util.AbstractEList$EIterator.checkModCount(AbstractEList.java:762) at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:716) at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:696) at org.eclipse.stem.diseasemodels.standard.impl.StandardDiseaseModelImpl.applyExternalDeltas(StandardDiseaseModelImpl.java:327) at org.eclipse.stem.solvers.fd.impl.FiniteDifferenceImpl.computeDeltasStep(FiniteDifferenceImpl.java:260) at org.eclipse.stem.solvers.fd.impl.FdJob.run(FdJob.java:63) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) You already taught me how to avoid this: -> set the number of worker threads to 1 (Window->Preferences STEM->Solver then "Number of concurrent worker threads"). and what's causing it: The problem is really how we determine which nodes a thread updates, especially in a case when you have population models that only works on a single node.