symphonytool / symphony

The Symphony IDE
5 stars 4 forks source link

Interpreter: CoSimulation Test always fails on Linux #271

Closed ldcouto closed 10 years ago

ldcouto commented 10 years ago

eu.compassresearch.core.interpreter.CoSimulationIntegrationTest

No matter what we try, it always fails on Linux. It fails sometimes on Windows. Mac failures unknown.

On Linux, the test runs for a long time and then fails with: java.lang.AssertionError: Simulators did not finish successfully.

joey-coleman commented 10 years ago

I'm fairly sure it passes on my mac 99% of the time; most of time I build I am not skipping the tests (and I last build around noon on 2 July, commit cc85799).

ldcouto commented 10 years ago

I don't know too much about how the interpreter does parallelisms but if it's calling on the OS to spawn processes, that might explain why we have such different outcomes.

@lausdahl , do you know how (or at least where in the code) parallelism are simulated?

lausdahl commented 10 years ago

"parallelisms" how did that come into the discussion?

co-sim is distributed simulation, and thus multiple processes. Each process represents one distributed simulated process.

This issue has nothing to do with how the process is defined.

The issue is how the external processes are controller, mainly how their terminal output is captured.

ldcouto commented 10 years ago

You're right. Though I seem to remember some kind of "did not deadlock" error. Maybe that's what got me thinking parallelism.

If the external processes are managed by the OS, then that is our likely culprit.

joey-coleman commented 10 years ago

Fixed by at least 5e548c4 (and possibly fixed in Kenneth's e8cd77e)