multiscale / muscle3

The third major version of the MUltiScale Coupling Library and Environment
Apache License 2.0
25 stars 13 forks source link

`muscle_manager` reports a successful simulation, even when one component has called `Instance.shutdown_()` #194

Open maarten-ic opened 1 year ago

maarten-ic commented 1 year ago

Reproduction:

  1. Update file docs/source/examples/fortran/load_balancer.f90. Remove logical .false. from the call to LIBMUSCLE_Instance_reuse_instance
  2. Run the examples with make test_examples

Expected outcome:

Example run . python/build/venv/bin/activate && muscle_manager --start-all rd_implementations.ymmsl rdmc_fortran.ymmsl rdmc_settings.ymmsl results in an error (If you use receive_with_settings() on an F_INIT port, then you have to pass false to reuse_instance(), otherwise the settings will already have been applied by MUSCLE.)

Actual outcome:

The rr component indeed crashes with the expected error message (when inspecting the logs). However, muscle_manager reports that the simulation ended successfully.