[2.3.3.140 C7] Unexpected "Multiple Simultaneous rule Execution Error"

@bravenel I'm not seeing how this RM 5.1 rule got partially run twice.

This rule has no looping and was only meant and should only have been executed once.

Somewhere in the middle of the rule, I can see where it started running a second path of the rule--but I can't see how/why it did it. It got down to "1"--then, suddenly/simultaneously started running a second fork at "2" (there is no indication that anything prior to "2" was run a second time).

Here are the logs.

This part seemed to be fine...

But, here's where it got wonky (I pointed out where "1" from the above is followed by "2"):

Not sure if the "actions HashMap" will help or not... but here it is:

Thoughts?

The only thing that may be unusual is that the required expression goes false then true in this app --I have the required expression NOT set to cancel the rule:

image

There is no way to deal with a rule of this size and complexity as a support matter, other than to make the observation that it is obviously corrupted in some way. What the specific failure is is inscrutable, as is some possible cause of corruption. My suggestion would be to either learn Groovy and do this in a custom app, or break this into several discrete rules, so as to make isolation of possible corruption easier to find.

While I have some rules that are complex, this one has quite straight forward logic. There are no loops, it's not getting invoked multiple times--it is just a few ifs and a few waits.

The purpose is to allow me to temporarily disarm my house, open a door, then when I close the door rearm it. It has no loops and, aside from pausing other rules, minimal interactions with anything.

It sets a few variable to remember the initial state.

It disarms the system and waits for an outside door to open (if that times out, it falls through and arms things again).

Once the door is open, it waits for the doors to close for 2 minutes.

Then it arms the system as it was before.

If the system, for any reason, doesn't arm as it was originally, it notifies me.

(at the start & end, it pauses/resumes other rules so they don't interfere)

I truly don't understand what is complex about this rule--it pauses the other rules so it runs straight through without any interference from any other rules.

The rule is obviously corrupted, as it doesn't run the actions that you have defined in the correct sequence, as clearly shown in your posted logs. This sequence failure leads to the error you posted. There is no way to fix this except to recreate the rule.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.