Balazs,
Since you can cause the loop by a couple of panel actions, start by setting any Logix with those panel items disabled. Once the loop no longer occurs, you can enable one Logix at a time and see when the problem appears. Once the Logix is identified, you can disable conditionals by unchecking the trigger checkbox for all of the variables.
The challenge is that it might not be a simple A-B, B-A.
Another possibility is too many trigger variables. The default is that all variables are defined as triggers. Most of the Logixs that I have created have only 1 to 2 trigger variables.
Good luck.
Dave Sand
toggle quoted message
Show quoted text
On Dec 3, 2018, at 3:57 PM, Balazs Racz <balazs.racz@...> wrote:
Hi JMRI experts,
I have a panel file where two (or more) logix conditionals somehow ended up triggering each other in an infinite loop. This crashes JMRI (either out of memory or stack overflow). Maybe they are fighting against each other on the state of a sensor or something like that.
I can get to the crash with a few specific steps on a panel, so triggering the problem is easy. But how could I figure out which logic conditionals cause the infinite loop?
thanks,
Balazs
ps. How do i know it's an infinite loop? I managed to get a stacktrace and it is very very very long with every third or so entry being DefaultConditionalAction.something, then a sequence of property change listeners inbetween. The same sequence repeats as long as I could see.