openHAB 4.3 Release Discussion

This issue is back, after update from 4.3.1-1 to 4.3.2-1 today.
Same setup with same issue.

Please have look.

Is a 14-Minute Startup Time Normal for OpenHAB?

I’ve noticed that my OpenHAB instance takes around 14 minutes to fully start, as seen in my logs. I’m wondering if this is normal for my setup or if there’s a way to optimize the startup process. Here are the details:

Log Snippets:

2025-01-13 21:25:17.810 [INFO ] [org.openhab.core.Activator          ] - Starting openHAB 4.3.2 (Release Build)
2025-01-13 21:36:37.708 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'default.sitemap'
2025-01-13 21:39:10.897 [INFO ] [nal.WeatherCalculatorEventSubscriber] - Receive Update: Item 'Speed_Outdoor_WeatherFlowTempestWindAvgSpeed' changed from 0.93 m/s to 0.86 m/s

System Details:

  • OpenHAB Version: 4.3.2
  • Operating System: openhabian on a Raspberry Pi 4B with 8GB RAM
  • Add-ons Installed: sensorcommunity,ntp,dwdpollenflug,openweathermap,network,astro,exec,systeminfo,mqtt,lgwebos,yamahareceiver,hue,mail,openuv,icalendar,tr064,http,yioremote,logreader,volumio,deconz,shelly,kodi,pihole
  • Persistence: mysql
  • Number of Things: 100
  • Number of Items: 734

Observations:

  1. The initial log entry at 21:25:18 indicates WeatherFlow starts.
  2. It takes ~11 minutes before my sitemap begins loading.
  3. Updates start coming through after ~14 minutes.

Is this normal for OpenHAB on my hardware/setup? Are there specific logs or diagnostics I can check to identify bottlenecks?

Thanks for your help!

This is definitely not normal, but I am not sure how to best identify such a bottleneck.
If this happens only once after an upgrade, I would personally forget about it, but if that‘s normal something is wrong.

It’s normal for me since oh4.3.0


How can I identify the issue


Look at the system load. If it’s high that means that the OH process may be waiting around for a resource which is blocking its running and starting up.

Usage of SWAP can also be an indicator that there’s something up with the system overall which can delay OH startup like that.

iotop will show you the processes that are the top readers and writers to disk. That could be a bottleneck.

Putting OH into trace level logging might show with more precision where in the OH startup it’s getting stuck.

Quite interesting. After upgrading from 4.3.1 to 4.3.2, all Add-ons are now gone/uninstalled and list of Things is thus empty. Did a cache clear and few restarts and looks like they’re just gone. Good thing I have things/items/rules/everything defined in files and in version control.

Adding the Add-Ons back wasn’t too much trouble, but I can confirm that “Amazon Binding does not update state of echo devices.”

If anyone reading this experiences the same with a managed config, you should have backups of Things, Items, Rules, Transformations, Widgets/Pages/Sitemaps, and Persistence configs under $OH_USERDATA/jsondb/backups. Every time you make a change a backup is taken and a configurable number of backups (5 by default) are saved.

Depending on how you installed you might have a full backup taken immediately before the upgrade under $OH_USERDATA/backup.

You should always take a manual backup before doing an upgrade.

There is nothing preventing someone using a managed config from checking that into source control.

I don’t use .things files, but with a managed config the Things would still be there, but they’d show with a HANDLER error indicating the binding isn’t installed. I would have expected Things from a .things file to do the same but maybe the binding needs to be there to even load the file.

Assuming a fully text based config, what did/does your addons.cfg file look like?
Did you see “loading model” entries in openhab.log?
Did you lose any other configs (e.g. regional configs, default persistence, etc.)?

Due to disappearing AddOns, all things failed to load and returned error such as No ThingHandlerFactory found for thing myuplink:account:myAccount (thing-type is myuplink:account). Deferring initialization.

After upgrade and before reinstalling addons I see “loading model” of all relevant files, followed by “No ThingHandlerFactory” errors, which makes sense.

I believe I may also have lost all persistent data as all persistence services are uninstalled too. Not sure what service was even used as I haven’t touched that. Data may still be there if I just know what service to install from the Persistence Service AddOn Store.

UPDATE: Installed the default rrd4j, and now see old data.

Where would I find addons.cfg?

I have defined a WifiLED stripe as follows:

String                  Schlafzimmer_LED                         "Schlafzimmer:LED"                  <wallswitch>    (Schalter)
                                                                                                                     { channel="mqtt:topic:Schlafzimmer-Schalter_1:state2" }
Group                   Schlafzimmer_LED_Homekit                 "Schlafzimmer:LED"                                  { homekit="Lighting" }
Switch                  Schlafzimmer_LED_Schalter                "Schlafzimmer:LED:Schalter"         <colorlight>    (Schlafzimmer_Licht_Schalter, Schlafzimmer_LED_Homekit) ["LightStripe"]
                                                                                                                     { channel="wifiled:wifiled:Schlafzimmer-LED:power", homekit="Lighting.OnState" }
Color                   Schlafzimmer_LED_Aktor                   "Schlafzimmer:LED"                  <colorlight>    (Schlafzimmer, Schlafzimmer_LED_Homekit) ["ColorTemperature"]
                                                                                                                     { channel="wifiled:wifiled:Schlafzimmer-LED:color", homekit="Lighting.Brightness,Lighting.Hue,Lighting.Saturation" [dimmerMode="filterBrightness100"] }

After upgrade to 4.3.2 (don’t know if that already happens with 4.3.1/0) HomeKit changes the HUE value in case you are trying to change the brightness.

No, they would still be loaded . The same as UI things, they will just enter handler missing error status.

As soon as the binding is installed/available they’d become online.

It’s in CONF/services
I’d highly recommend using this file instead of installing any add-ons via the ui especially if you are using file based config for your other stuff.

Also checkout runtime.cfg

You can configure openhab fully through these files.

Looks like a bug in MainUI. I posted details on Github here with a proposed code change to resolve it, but long story short it looks like mqtt started getting smarter about the step value it sets by default on the channel’s stateDescription. MainUI struggles with the new states.

In my case, my similar item (range 0 - 254, step 1) generated this StateDescription on my Item:

“minimum”: 0,
“maximum”: 100,
“step”: 0.3937007874015748,

(the weird looking step coming from (100 * step) / 254).

then MainUI tried to round the Dimmer values to 3937007874015748 digits (instead of to 16 digits to match the state’s precision), which caused a RangeError in Javascript and prevents the slider UI from loading properly.

Upgraded to 4.3.2-release (via openHABian on a Pi4/4GB) and all my marketplace bindings and other AddOns were (again) not re-installed within upgrade.
(especially the LOG4J2-extra and Smarthome/J amazon echo control, if that’s important)

see

1 Like

I also got some strange errors:

2025-01-15 09:24:30.728 [ERROR] [mation.script.javascript.EmsBatLogic] - Failed to execute script: java.lang.ClassFormatError: Unexpected error from weaving hook.
        at org.eclipse.osgi.internal.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:86)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.processClass(ClasspathManager.java:735)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:706)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:639)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:607)
        ... 69 more
2025-01-15 09:24:30.729 [ERROR] [.handler.AbstractScriptModuleHandler] - Script execution of rule with UID 'EmsBatLogic' failed: org.graalvm.polyglot.PolyglotException: java.lang.ClassFormatError: Unexpected error from weaving hook.
2025-01-15 09:24:30.738 [ERROR] [Events.Framework                    ] - FrameworkEvent ERROR
java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.getResourceAsStream(String)" because "this.loader" is null
	at org.apache.aries.spifly.dynamic.OSGiFriendlyClassWriter.getCommonSuperClass(OSGiFriendlyClassWriter.java:82) ~[?:?]
	at org.objectweb.asm.SymbolTable.addMergedType(SymbolTable.java:1264) ~[?:?]
	at org.objectweb.asm.Frame.merge(Frame.java:1311) ~[?:?]
	at org.objectweb.asm.Frame.merge(Frame.java:1255) ~[?:?]
	at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1612) ~[?:?]
	at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1548) ~[?:?]
	at org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:786) ~[?:?]
	at org.objectweb.asm.commons.LocalVariablesSorter.visitMaxs(LocalVariablesSorter.java:147) ~[?:?]
	at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:767) ~[?:?]
	at org.objectweb.asm.commons.JSRInlinerAdapter.visitEnd(JSRInlinerAdapter.java:159) ~[?:?]
	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1516) ~[?:?]
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:745) ~[?:?]
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:425) ~[?:?]
	at org.apache.aries.spifly.dynamic.ClientWeavingHook.weave(ClientWeavingHook.java:60) ~[?:?]
	at org.eclipse.osgi.internal.weaving.WovenClassImpl.call(WovenClassImpl.java:187) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.weaving.WovenClassImpl.call(WovenClassImpl.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1349) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1322) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.weaving.WovenClassImpl.callHooks(WovenClassImpl.java:249) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:80) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.processClass(ClasspathManager.java:735) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:706) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:639) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:607) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:587) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:566) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:335) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:397) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168) ~[org.eclipse.osgi-3.18.0.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
	at com.oracle.truffle.js.builtins.GlobalBuiltins.createNode(GlobalBuiltins.java:207) ~[?:?]
	at com.oracle.truffle.js.builtins.GlobalBuiltins.createNode(GlobalBuiltins.java:153) ~[?:?]
	at com.oracle.truffle.js.builtins.JSBuiltinsContainer$SwitchEnum$1FactoryImpl.createObject(JSBuiltinsContainer.java:196) ~[?:?]
	at com.oracle.truffle.js.nodes.function.BuiltinNodeFactory.createNode(BuiltinNodeFactory.java:50) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSBuiltin.createNodeImpl(JSBuiltin.java:241) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSBuiltin.createNode(JSBuiltin.java:229) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSBuiltinNode$LazyBuiltinNode.createBuiltinNode(JSBuiltinNode.java:192) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSBuiltinNode$LazyBuiltinNode.materialize(JSBuiltinNode.java:187) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSBuiltinNode$LazyBuiltinNode.tryCreateInlined(JSBuiltinNode.java:202) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.tryInlineBuiltinFunctionCall(JSFunctionCallNode.java:1003) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCallableNode(JSFunctionCallNode.java:959) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.specializeDirectCallShared(JSFunctionCallNode.java:384) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.specializeDirectCall(JSFunctionCallNode.java:347) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:280) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:248) ~[?:?]
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNode.execute(JSFunctionCallNode.java:529) ~[?:?]
	at com.oracle.truffle.js.nodes.access.WritePropertyNode.executeAndSpecialize(WritePropertyNode.java:284) ~[?:?]
	at com.oracle.truffle.js.nodes.access.WritePropertyNode.executeVoid(WritePropertyNode.java:256) ~[?:?]
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:80) ~[?:?]
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:55) ~[?:?]
	at com.oracle.truffle.api.impl.DefaultBlockNode.executeGeneric(DefaultBlockNode.java:63) ~[?:?]
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.execute(AbstractBlockNode.java:75) ~[?:?]
	at com.oracle.truffle.js.nodes.control.IfNode.execute(IfNode.java:161) ~[?:?]
	at com.oracle.truffle.js.nodes.access.JSWriteCurrentFrameSlotNodeGen.execute_generic4(JSWriteCurrentFrameSlotNodeGen.java:162) ~[?:?]
	at com.oracle.truffle.js.nodes.access.JSWriteCurrentFrameSlotNodeGen.execute(JSWriteCurrentFrameSlotNodeGen.java:85) ~[?:?]
	at com.oracle.truffle.js.nodes.access.JSWriteCurrentFrameSlotNodeGen.executeVoid(JSWriteCurrentFrameSlotNodeGen.java:316) ~[?:?]
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:80) ~[?:?]
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:55) ~[?:?]
	at com.oracle.truffle.api.impl.DefaultBlockNode.executeGeneric(DefaultBlockNode.java:63) ~[?:?]
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.execute(AbstractBlockNode.java:75) ~[?:?]
	at com.oracle.truffle.js.nodes.binary.DualNode.execute(DualNode.java:125) ~[?:?]
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:73) ~[?:?]
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:143) ~[?:?]
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:92) ~[?:?]
	at com.oracle.truffle.api.impl.DefaultCallTarget.callDirectOrIndirect(DefaultCallTarget.java:85) ~[?:?]
	at com.oracle.truffle.api.impl.DefaultDirectCallNode.call(DefaultDirectCallNode.java:59) ~[?:?]
	at com.oracle.truffle.js.lang.JavaScriptLanguage$ParsedProgramRoot.execute(JavaScriptLanguage.java:240) ~[?:?]
	at com.oracle.truffle.api.impl.DefaultCallTarget.callDirectOrIndirect(DefaultCallTarget.java:85) ~[?:?]
	at com.oracle.truffle.api.impl.DefaultCallTarget.call(DefaultCallTarget.java:102) ~[?:?]
	at com.oracle.truffle.polyglot.PolyglotContextImpl.eval(PolyglotContextImpl.java:1296) ~[?:?]
	at com.oracle.truffle.polyglot.PolyglotContextDispatch.eval(PolyglotContextDispatch.java:63) ~[?:?]
	at org.graalvm.polyglot.Context.eval(Context.java:399) ~[?:?]
	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458) ~[?:?]
	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426) ~[?:?]
	at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262) ~[java.scripting:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.DelegatingScriptEngineWithInvocableAndCompilableAndAutocloseable.eval(DelegatingScriptEngineWithInvocableAndCompilableAndAutocloseable.java:54) ~[?:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocableAndCompilableAndAutoCloseable.eval(InvocationInterceptingScriptEngineWithInvocableAndCompilableAndAutoCloseable.java:79) ~[?:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.DelegatingScriptEngineWithInvocableAndCompilableAndAutocloseable.eval(DelegatingScriptEngineWithInvocableAndCompilableAndAutocloseable.java:54) ~[?:?]
	at org.openhab.automation.jsscripting.internal.scriptengine.InvocationInterceptingScriptEngineWithInvocableAndCompilableAndAutoCloseable.eval(InvocationInterceptingScriptEngineWithInvocableAndCompilableAndAutoCloseable.java:79) ~[?:?]
	at org.openhab.core.automation.module.script.internal.handler.AbstractScriptModuleHandler.eval(AbstractScriptModuleHandler.java:219) ~[?:?]
	at org.openhab.core.automation.module.script.internal.handler.ScriptActionHandler.lambda$0(ScriptActionHandler.java:94) ~[?:?]
	at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
	at org.openhab.core.automation.module.script.internal.handler.ScriptActionHandler.execute(ScriptActionHandler.java:81) ~[?:?]
	at org.openhab.core.automation.internal.RuleEngineImpl.executeActions(RuleEngineImpl.java:1299) ~[?:?]
	at org.openhab.core.automation.internal.RuleEngineImpl.runRule(RuleEngineImpl.java:1057) ~[?:?]
	at org.openhab.core.automation.internal.TriggerHandlerCallbackImpl$TriggerData.run(TriggerHandlerCallbackImpl.java:86) ~[?:?]
	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) ~[?:?]
Caused by: com.oracle.truffle.api.TruffleStackTrace$LazyStackTrace

this one could be cured by just saving the Rule (EmsBatLogic).

the next one is strange and occured after I re-installed the (above mentioned) “Smarthome/J amazon echo control” and/or “LOG4J2-extra” and spammed the log:

2025-01-15 09:39:37.087 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:39:37.089 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:39:38.081 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:39:38.082 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:39:39.083 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:39:39.084 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:39:40.093 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:39:40.094 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:39:41.090 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:39:41.091 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:39:42.095 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
...

this one could only be cured by restarting openHAB via systemctl.

don’t know if it’s connected, but theres also this:

2025-01-15 09:42:01.936 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/events's Observer 
2025-01-15 09:42:01.949 [WARN ] [org.eclipse.jetty.server.HttpChannel] - /rest/addons/services
java.lang.NullPointerException: Cannot invoke "org.apache.cxf.transport.MessageObserver.onMessage(org.apache.cxf.message.Message)" because "this.incomingObserver" is null
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[?:?]
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[?:?]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[?:?]
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[?:?]
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[?:?]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:304) ~[?:?]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:222) ~[?:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) ~[bundleFile:4.0.4]
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:279) ~[?:?]
	at org.ops4j.pax.web.service.spi.servlet.OsgiInitializedServlet.service(OsgiInitializedServlet.java:102) ~[?:?]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[?:?]
	at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) ~[?:?]
	at org.ops4j.pax.web.service.spi.servlet.OsgiFilterChain.doFilter(OsgiFilterChain.java:113) ~[?:?]
	at org.ops4j.pax.web.service.jetty.internal.PaxWebServletHandler.doHandle(PaxWebServletHandler.java:334) ~[?:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) ~[?:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) ~[?:?]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234) ~[bundleFile:9.4.54.v20240208]
	at org.ops4j.pax.web.service.jetty.internal.PrioritizedHandlerCollection.handle(PrioritizedHandlerCollection.java:96) ~[?:?]
	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:772) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) ~[bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.54.v20240208]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.54.v20240208]
	at java.lang.Thread.run(Thread.java:840) [?:?]

also gone after restart of openhab-service.

I guess that on escalated afterwards via:

2025-01-15 09:42:02.752 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:42:02.756 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:42:02.768 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/events's Observer 
2025-01-15 09:42:02.768 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/events's Observer 
2025-01-15 09:42:03.754 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:42:03.755 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:42:03.954 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/events's Observer 
2025-01-15 09:42:03.964 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/services/org.openhab.i18n/config's Observer 
2025-01-15 09:42:03.964 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/addons/suggestions's Observer 
2025-01-15 09:42:03.964 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/addons/services's Observer 
2025-01-15 09:42:04.756 [WARN ] [org.eclipse.jetty.io.ManagedSelector] - java.lang.IllegalStateException: No Client ALPNProcessors!
2025-01-15 09:42:04.757 [WARN ] [control.internal.push.PushConnection] - Failed to create session: No Client ALPNProcessors!
2025-01-15 09:42:04.936 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/events's Observer 
2025-01-15 09:42:04.943 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/addons/services's Observer 
2025-01-15 09:42:04.943 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/addons/suggestions's Observer 
2025-01-15 09:42:04.948 [WARN ] [.transport.servlet.ServletController] - Can't find the request for http://192.168.78.10:8080/rest/services/org.openhab.i18n/config's Observer 
2025-01-15 09:42:05.701 [ERROR] [t.ScriptTransformationServiceFactory] - bundle org.openhab.core.automation.module.script:4.3.2 (165)[org.openhab.core.automation.module.script.ScriptTransformationServiceFactory(172)] : The setScriptEngineFactory method has thrown an exception
java.util.ServiceConfigurationError: org.graalvm.polyglot.impl.AbstractPolyglotImpl: com.oracle.truffle.polyglot.PolyglotImpl not a subtype
	at java.util.ServiceLoader.fail(ServiceLoader.java:593) ~[?:?]
	at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1244) ~[?:?]
	at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]
	at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]
	at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]
	at org.graalvm.polyglot.Engine$1.loadAndValidateProviders(Engine.java:904) ~[?:?]
	at org.graalvm.polyglot.Engine$1.run(Engine.java:890) ~[?:?]
	at org.graalvm.polyglot.Engine$1.run(Engine.java:864) ~[?:?]
	at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
	at org.graalvm.polyglot.Engine.initEngineImpl(Engine.java:864) ~[?:?]
	at org.graalvm.polyglot.Engine.access$000(Engine.java:110) ~[?:?]
	at org.graalvm.polyglot.Engine$ImplHolder.<clinit>(Engine.java:136) ~[?:?]
	at org.graalvm.polyglot.Engine.getImpl(Engine.java:360) ~[?:?]
	at org.graalvm.polyglot.Source.getImpl(Source.java:140) ~[?:?]
	at org.graalvm.polyglot.Source$Builder.build(Source.java:920) ~[?:?]
	at org.openhab.automation.jsscripting.internal.OpenhabGraalJSScriptEngine.<clinit>(OpenhabGraalJSScriptEngine.java:81) ~[?:?]
	at org.openhab.automation.jsscripting.internal.GraalJSScriptEngineFactory.createScriptEngine(GraalJSScriptEngineFactory.java:90) ~[?:?]
	at org.openhab.core.automation.module.script.ScriptTransformationServiceFactory.lambda$1(ScriptTransformationServiceFactory.java:73) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
	at org.openhab.core.automation.module.script.ScriptTransformationServiceFactory.setScriptEngineFactory(ScriptTransformationServiceFactory.java:72) ~[?:?]
	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:569) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531) [bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BindMethod.invoke(BindMethod.java:42) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2086) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) [org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) [org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) [osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:513) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:888) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:879) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:560) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:503) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:1139) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1520) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) [org.eclipse.osgi-3.18.0.jar:?]
2025-01-15 09:42:05.721 [ERROR] [al.provider.ScriptModuleTypeProvider] - bundle org.openhab.core.automation.module.script:4.3.2 (165)[org.openhab.core.automation.module.script.internal.provider.ScriptModuleTypeProvider(180)] : The setScriptEngineFactory method has thrown an exception
java.lang.NoClassDefFoundError: Could not initialize class org.openhab.automation.jsscripting.internal.OpenhabGraalJSScriptEngine
	at org.openhab.automation.jsscripting.internal.GraalJSScriptEngineFactory.createScriptEngine(GraalJSScriptEngineFactory.java:90) ~[?:?]
	at org.openhab.core.automation.module.script.internal.ScriptEngineFactoryHelper.getParameterOption(ScriptEngineFactoryHelper.java:45) ~[?:?]
	at org.openhab.core.automation.module.script.internal.provider.ScriptModuleTypeProvider.setScriptEngineFactory(ScriptModuleTypeProvider.java:150) ~[?:?]
	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:569) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531) [bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BindMethod.invoke(BindMethod.java:42) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2086) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) [org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) [bundleFile:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) [org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) [osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:513) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:888) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:879) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:560) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:503) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:1139) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1520) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) [org.eclipse.osgi-3.18.0.jar:?]
Caused by: java.lang.ExceptionInInitializerError: Exception java.util.ServiceConfigurationError: org.graalvm.polyglot.impl.AbstractPolyglotImpl: com.oracle.truffle.polyglot.PolyglotImpl not a subtype [in thread "Refresh Thread: Equinox Container: 66b1ff5b-56a1-46bd-beeb-8a9b539d1dae"]
	at java.util.ServiceLoader.fail(ServiceLoader.java:593) ~[?:?]
	at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1244) ~[?:?]
	at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) ~[?:?]
	at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) ~[?:?]
	at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) ~[?:?]
	at org.graalvm.polyglot.Engine$1.loadAndValidateProviders(Engine.java:904) ~[?:?]
	at org.graalvm.polyglot.Engine$1.run(Engine.java:890) ~[?:?]
	at org.graalvm.polyglot.Engine$1.run(Engine.java:864) ~[?:?]
	at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
	at org.graalvm.polyglot.Engine.initEngineImpl(Engine.java:864) ~[?:?]
	at org.graalvm.polyglot.Engine.access$000(Engine.java:110) ~[?:?]
	at org.graalvm.polyglot.Engine$ImplHolder.<clinit>(Engine.java:136) ~[?:?]
	at org.graalvm.polyglot.Engine.getImpl(Engine.java:360) ~[?:?]
	at org.graalvm.polyglot.Source.getImpl(Source.java:140) ~[?:?]
	at org.graalvm.polyglot.Source$Builder.build(Source.java:920) ~[?:?]
	at org.openhab.automation.jsscripting.internal.OpenhabGraalJSScriptEngine.<clinit>(OpenhabGraalJSScriptEngine.java:81) ~[?:?]
	at org.openhab.automation.jsscripting.internal.GraalJSScriptEngineFactory.createScriptEngine(GraalJSScriptEngineFactory.java:90) ~[?:?]
	at org.openhab.core.automation.module.script.ScriptTransformationServiceFactory.lambda$1(ScriptTransformationServiceFactory.java:73) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
	at org.openhab.core.automation.module.script.ScriptTransformationServiceFactory.setScriptEngineFactory(ScriptTransformationServiceFactory.java:72) ~[?:?]
	... 89 more

but as I said: a restart cured this and system is stable since (half an hour ago, every possible important rule should’ve been fired, all items get updated, all fine now).
Still it’s annoying so to say, because those or similar errors occur with every upgrade. I can manage, but perhaps not everyone.

I can only shed a tiny little bit of light on some of these errors but not a whole lot.

Over all, what I’ve observed is sometimes it takes a little longer than expected to install all the bindings but OH forges ahead in starting up meaning that stuff starts running before OH is read. I usually see this as “no handler for application/javascript” and the like.

I don’t know what a “weaving” is but this appears to come from the JS Scripting add-on or, perhaps a problem caused by the add-on not yet being fully installed.

This looks to be related to the previous exception. The first OH class in the stack is org.openhab.automation.jsscripting.internal.scriptengine.DelegatingScriptEngineWithInvocableAndCompilableAndAutocloseable.eval(DelegatingScriptEngineWithInvocableAndCompilableAndAutocloseable.java:54) ~[?:?]

Something that Jetty, the internal web server, depends upon is not yet there.

I would guess this is related to the previous.

These are normal and usually seen when you have an instance of MainUI up and connected to OH during an OH restart.

This one is again coming from the JS Scripting add-on, only this time it’s related to a transformation instead of a rule.

This too comes from the JS Scripting add-on.

In short, I think your errors only show two problems.

  1. Jetty came up in an error state or otherwise didn’t fully come up. Or at least it only partially came up.
  2. JS Scripting didn’t fully come online or only partially came online.

What ever caused the problems resolved on the restart.

2 Likes

Thanks for your anaysis, Rich!

I don’t know anthing about the internals, but your 1. sounds reasonable and I think could be part of tha problem. But I want to throw in, most problems arose only after I manuall re-installed Marketplace AddOns
 Perhaps that’s something worth digging into


As for your 2. I’m not sooo sure. JS Scripting went well. At least the rules, which didn’t throw that “weaving” error. And after saving (not even changing anthing), the rule in question ran as expected. What I’ll try to do is to migrate my “old” Javascript-Rules into latest JS-Scripting with ECMAScript 11. Perhaps that’s something? I have a bunch of old rules running on 5.1 in parallel.

oh. and I can DEFINITELY tell, that openHAB overtakes itself. I have a few rules, which start with Start Level 100. And yes, they start before JS is full loaded, which shouldn’t be in my understanding, as “100 - startup complete” should mean: everything(!) is loaded and running.

Perhaps, if it’s repeatable. It could also have just been a trick of timing. :man_shrugging:

That could be relevant if the mime types on the old rules hasn’t been changed to ensure they are loaded by the Nashorn add-on. Nashorn uses application/javascript;ECMAScript5.1 or something like that and GraalVM JS uses application/javascript. It used to be the other way around.

Saving the rule worked though because managed rules get “compiled” on load instead of waiting for that first run. So if the errors above happened when the rule was first loaded and the add-on wasn’t ready, saving the file once the add-on is ready should work and solve the problem.

Start levels don’t include everything. There are parts of OH which are not tracked as part of the start levels. But usually one can rely on later things. For example, if the bindings are not loaded then the Things shouldn’t become online and the start level should never get past 70. However, there are no Things for the automation add-ons so failure to load that add-on wouldn’t stop the startup. And the rule engine doesn’t get stopped if an add-on isn’t installed because I don’t think it knows what add-ons need to be installed to be fully functional.

2 Likes

In 4.3.2, the Add-On installation never “completes” in UI, progress spinner remains:

Also the Frontail time is off by 1 hour like after last update :frowning:

System time is correct:

openhabian@openhab:~ $ timedatectl
               Local time: Fri 2025-01-17 09:36:01 EET
           Universal time: Fri 2025-01-17 07:36:01 UTC
                 RTC time: n/a
                Time zone: Europe/Helsinki (EET, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

But frontail is 1 hour too little, also the new log shows +1 which is not right.
image

Timezone in openhab-config is correctly set as Europe/Helsinki (+2).

Looks like the /etc/default/openhab reverts to Europe/Berlin, please don’t do that.

I’d recommend to add env settings like EXTRA_JAVA_OPTS to the following file:

/etc/openhab/linux.parameters

This way you can prevent that your custom env settings get overridden.

1 Like

Issue already opened.
Probably there before 4.3.2.

2 Likes

Yeah I had this problem before I switched to 4.3.2