Crash when using Shelly Binding and Jeelink Binding at once

Hey

I am using Openhab in Version 4.1.1 with a full running system (no errors at all). After I install a new Binding of Shelly (Shelly - Bindings | openHAB) the error log is running full of messages based on errors on Jeelink (Jeelink - Bindings | openHAB) It starts with:

2024-01-16 07:57:10.748 [INFO ] [nternal.manager.ShellyManagerServlet] - Shelly Manager gestartet und erreichbar unter http(s)://192.168.1.51:8080/shelly/manager
2024-01-16 07:57:23.080 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'bewegungsmelder-1' failed: An error occurred during the script execution: Cannot invoke "org.openhab.core.model.rule.scoping.RulesClassCache.get(Object)" because "cache" is null in bewegungsmelder
2024-01-16 07:57:23.082 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'helligkeitssteuerung-1' failed: An error occurred during the script execution: Cannot invoke "org.openhab.core.model.rule.scoping.RulesClassCache.get(Object)" because "cache" is null in helligkeitssteuerung
2024-01-16 07:57:25.157 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.jeelink.internal.lacrosse.LaCrosseTemperatureSensorHandler@18106352': Cannot invoke "org.openhab.core.thing.Bridge.getHandler()" because the return value of "org.openhab.binding.jeelink.internal.JeeLinkSensorHandler.getBridge()" is null
java.lang.NullPointerException: Cannot invoke "org.openhab.core.thing.Bridge.getHandler()" because the return value of "org.openhab.binding.jeelink.internal.JeeLinkSensorHandler.getBridge()" is null
        at org.openhab.binding.jeelink.internal.JeeLinkSensorHandler.dispose(JeeLinkSensorHandler.java:86) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:147) [bundleFile:?]
        at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        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:840) [?:?]

After some repeats of the same message openhab restarts:

2024-01-16 07:57:29.441 [INFO ] [basic.internal.servlet.WebAppServlet] - Stopped Basic UI
2024-01-16 07:57:29.800 [INFO ] [ab.ui.habpanel.internal.HABPanelTile] - Stopped HABPanel
2024-01-16 07:57:38.481 [WARN ] [ore.internal.scheduler.SchedulerImpl] - Scheduled job '<unknown>' failed and stopped
java.lang.NullPointerException: Cannot invoke "org.openhab.core.model.rule.scoping.RulesClassCache.get(Object)" because "cache" is null
        at org.openhab.core.model.rule.scoping.RulesClassFinder.forName(RulesClassFinder.java:43) ~[?:?]
        at org.openhab.core.model.rule.scoping.RulesClassFinder.forName(RulesClassFinder.java:1) ~[?:?]
        at org.eclipse.xtext.common.types.util.JavaReflectAccess.getRawType(JavaReflectAccess.java:133) ~[?:?]
        at org.eclipse.xtext.common.types.util.JavaReflectAccess.getMethod(JavaReflectAccess.java:74) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1171) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1167) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1153) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:1098) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:151) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:878) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:243) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:227) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluateArgumentExpressions(XbaseInterpreter.java:1222) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1152) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:1098) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:151) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:1008) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:249) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:227) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:486) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:267) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:227) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:475) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:251) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:226) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:227) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:213) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.ClosureInvocationHandler.doInvoke(ClosureInvocationHandler.java:47) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.AbstractClosureInvocationHandler.invoke(AbstractClosureInvocationHandler.java:30) ~[?:?]
        at jdk.proxy272.$Proxy384.apply(Unknown Source) ~[?:?]
        at org.openhab.core.internal.scheduler.SchedulerImpl.lambda$12(SchedulerImpl.java:189) ~[?:?]
        at org.openhab.core.internal.scheduler.SchedulerImpl.lambda$1(SchedulerImpl.java:88) ~[?:?]
        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:840) [?:?]
2024-01-16 07:57:43.193 [WARN ] [service.internal.HttpServiceDisabled] - Http service has already been stopped
2024-01-16 07:57:44.188 [INFO ] [org.openhab.core.Activator          ] - Starting openHAB 4.1.1 (build Release Build)

After openHab is back, the log is getting flodded on the following messages

2024-01-16 07:58:26.744 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler LaCrosseTemperatureSensorHandler tried updating the thing status although the handler was already disposed.
2024-01-16 07:58:26.745 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler LaCrosseTemperatureSensorHandler tried updating the thing status although the handler was already disposed.
2024-01-16 07:58:26.746 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler LaCrosseTemperatureSensorHandler tried updating the thing status although the handler was already disposed.

After I uninstall Shelly again and restart the service everything is fine again …
Does anybody know this issue and have a solution?

Best wishes
Thomas

I see a Jeelink error and some generic warnings but I don’t see any errors from Shelly.

Shelly appears to be up and running

A rule encountered an error. cache is null is a new error to me though. I’m not sure what could cause that. cache is one of the built in implicit variables. I’m not sure how it could be coming up as null.I’d have to see the line.

Same error, different rule.

That looks like you attempted to delete a Thing and that Thing is in a bad state to be removed. I once saw something like this and it ended up going away on it’s own. Look through your Things and see if you see one in a deleting state or something like that. That’s going to be the troublesome Thing.

I’d try restarting OH and trying to delete the Thing again. If that still doesn’t work I’d try to delete it through the Karaf console, If that doesn’t work, I’d remove the Thing by stopping OH and editing the JSONDB file.

This is basically the same as the two rule errors above. It only looks different because OH is shutting down when this error occurred.

That’s probably caused by the zombie Thing.