modelica-tools / FMUComplianceChecker

FMI Compliance Checker for validation of FMUs 1.0 and 2.0
BSD 3-Clause "New" or "Revised" License
42 stars 31 forks source link

FMU Checker does not terminate for fmi2Status fmi2Fatal #37

Open AnHeuermann opened 5 years ago

AnHeuermann commented 5 years ago

When returning a fatal error in function fmi2NewDiscreteStates the FMUComplianceChecker does not terminate model simulation but tries to call function fmi2NewDiscreteStates again.

So setting FMI2_Export fmi2Status fmi2NewDiscreteStates(fmi2Component c, fmi2EventInfo* fmiEventInfo) { return fmi2Fatal; } yields to an infinite loop.

The FMI specification 2.0 page 17 states:

fmi2Fatal – the model computations are irreparably corrupted for all FMU instances. [For example, due to a run-time exception such as access violation or integer division by zero during the execution of an fmi function]. Function “logger” was called in the FMU (see below) and it is expected that this function has shown the prepared information message to the user. It is not possible to call any other function for any of the FMU instances.

I get this behavior with pre-build executable version 2.0.4 on 64Bit Windows 10 and build of commit dcc15abc94038a7afb8d4828d2bf3ea359de6c09 on 64Bit Unix system. Can someone reproduce this problem?