hhu-stups / prob-issues

ProB issues (for probcli, ProB Tcl/Tk, ProB2, ProB2UI)
6 stars 0 forks source link

Check for SimB Activations that eventually a direct activation is reached to avoid cycles of choose activations #324

Closed favu100 closed 5 months ago

favu100 commented 1 year ago

Check for SimB Activations that eventually a direct activation is reached to avoid cycles of choose activations. Otherwise, we get this error:

java.lang.StackOverflowError: null
        at java.base/java.util.Objects.hash(Objects.java:133)
        at de.prob.animator.domainobjects.EvalOptions.hashCode(EvalOptions.java:192)
        at java.base/java.util.HashMap.hash(HashMap.java:338)
        at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1191)
        at de.prob.statespace.State.getEvalCacheForOptions(State.java:195)
        at de.prob.statespace.State.evalFormulas(State.java:275)
        at de.prob.statespace.State.eval(State.java:311)
        at de.prob.statespace.State.eval(State.java:235)
        at de.prob.statespace.State.eval(State.java:244)
        at de.prob2.ui.simulation.simulators.SimulatorCache.readValueWithCaching(SimulatorCache.java:45)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:241)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.handleOperationConfiguration(SimulationEventHandler.java:229)
        at de.prob2.ui.simulation.simulators.SimulationEventHandler.chooseOperation(SimulationEventHandler.java:243)
favu100 commented 5 months ago

This issue is solved now. Cycles are checked at runtime