Skip to content

Internal limitation in JIT compilation

When running one of the NoC models ( functional.modest) there is an issue with the JIT compiler. This is the output I get:

$ modest check functional.modest
The Modest Toolset (www.modestchecker.net), version v3.1.284-gb72fcc537+b72fcc537a05e229e90e4450498fc88004a8325c.
Command: modest check functional.modest


Preparing model checking...

functional.modest: info: functional is a DTMC model.

(00:00) 0·····
Compiling model...
Unhandled exception. System.InvalidProgramException: The JIT compiler encountered invalid IL code or an internal limitation.
   at System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation)
   at Modest.Exploration.CompiledNetwork.JitCompile()
   at Modest.Exploration.CompiledNetwork.Instantiate(Boolean jitCompile)
   at Modest.ModelChecking.ModelCheckingAnalysisEngine.ModelCheck(NSHAModel model, CompilationParameters compilationParams, Object parametersObj, OperationState operationState, IErrorHandler errors)
   at Modest.ModelChecking.ModelCheckingAnalysisEngine.Analyze(AnalysisParams analysisParameters, NSHAModel[] models, Int32 index, Boolean isLast, Boolean useDtmcSemantics, Boolean isContinuousTimeMarkovModel, OperationState operationState, IErrorHandler errors)
   at Modest.ModelChecking.AnalysisEngine`1.Analyze(AP analysisParameters, NSHAModel model, Int32 index, Boolean isLast, IExperiment[] modelParameters, OperationState operationState, IErrorHandler errors)
   at Modest.Modularity.AnalysisEngine`2.Analyze(IParameterObject analysisParameters, IModel[] models, IExperiment[][] experiments, OperationState operationState, IErrorHandler errors)
(00:01)odest.··
   at Modest.Executable.Program.Main(String[] args)

If I comment out the body of the JitCompile() and then rebuild Modest then this error goes away and everything works as expected*.

* See comment below, everything does not actually work as expected ☹️

Edited by Nick Waddoups