You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After the Upgrade to OH4.0, some of my rules won´t run for the first time they are triggerd.
It seems like it´s mostly the case if a trigger condition is reused for a few times for different rules.
In the openhab.log are the following errors:
example: [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'usv-6': null or [ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'rasenmaeher-2': null
an with trace enabled:
│2023-08-12 17:25:00.206 [DEBUG] [e.automation.internal.RuleEngineImpl] - │
│java.util.ConcurrentModificationException: null │
│ at java.util.HashMap.computeIfAbsent(HashMap.java:1221) ~[?:?] │
│ at org.openhab.core.automation.internal.RuleEngineImpl.getContext(RuleEngineImpl.java:1103) ~[?:?] │
│ at org.openhab.core.automation.internal.RuleEngineImpl.updateContext(RuleEngineImpl.java:1090) ~[?:?] │
│ at org.openhab.core.automation.internal.RuleEngineImpl.setTriggerOutputs(RuleEngineImpl.java:1079) ~[?:?] │
│ at org.openhab.core.automation.internal.RuleEngineImpl.runRule(RuleEngineImpl.java:992) ~[?:?] │
│ at org.openhab.core.automation.internal.TriggerHandlerCallbackImpl$TriggerData.run(TriggerHandlerCallbackImpl.java:87) ~[?:?] │
│ at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?] │
│ at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] │
│ at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] │
│ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] │
│ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] │
│ at java.lang.Thread.run(Thread.java:833) ~[?:?]
this rule is defines in rules/usv.rules:
rule "USV Batteriewarnung EG"
when
Item EG_USV_Status changed
then
if ((EG_USV_Status.state == "OB DISCHRG") || (EG_USV_Status.state == "OB") || (EG_USV_Status.state == "CB")) {
executeCommandLine("/home/openhab/signal-api.sh", "Achtung: USV-EG läuft auf Batterie", "+123")
}
else {
//alles gut
}
end
I already did add some LogInfo´s to the top of my rules, just to see if they triggered, but it never appeared in the Logfile when the error-message in openhab.log appeared. It seems like the rule doesn´t get executed in the first place rather than not fully executed.
After the Upgrade to OH4.0, some of my rules won´t run for the first time they are triggerd.
It seems like it´s mostly the case if a trigger condition is reused for a few times for different rules.
In the openhab.log are the following errors:
example:
[ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'usv-6': null
or[ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'rasenmaeher-2': null
an with trace enabled:
this rule is defines in rules/usv.rules:
or an even simpler one:
If the rule is triggered again, everything just works until i restart openhab. This does not affect every rule, but some of them.
Expected Behavior
the rules should be executed without any error as in previous versions like 3.5.
Current Behavior
the following entry appears in openhab.log:
[ERROR] [e.automation.internal.RuleEngineImpl] - Failed to execute rule 'usv-6': null
Your Environment
latest openHAB 4.0.1 on Debian AMD64 via apt with Zulu-17 installed.
The text was updated successfully, but these errors were encountered: