openhab-core
openhab-core copied to clipboard
Crash - The queue for a subscriber of EventLogger exceeds 5000 elements
clean install of 4.3.2 with just Modbus and MQTT bindings. does not last more then 5 days with about 70 items updated every 5-10 seconds. x86 Ubuntu 24.04 openjdk version "21.0.5" 2024-10-15 OpenJDK Runtime Environment (build 21.0.5+11-Ubuntu-1ubuntu124.04) OpenJDK 64-Bit Server VM (build 21.0.5+11-Ubuntu-1ubuntu124.04, mixed mode, sharing)
Expected Behavior
It should not crash
Current Behavior
2025-01-28 02:53:48.550 [INFO ] [b.core.io.websocket.log.LogWebSocket] - WebSocket error: java.util.concurrent.TimeoutException: Idle timeout expired: 10001/10000 ms
2025-01-28 02:57:12.711 [WARN ] [ab.core.internal.events.EventHandler] - Dispatching event to subscriber 'org.openhab.core.io.monitor.internal.EventLogger@24203be2' takes more than 5000ms.
2025-01-28 02:59:57.711 [INFO ] [b.core.io.websocket.log.LogWebSocket] - WebSocket error: <null>
2025-01-28 04:03:59.446 [WARN ] [ab.core.internal.events.EventHandler] - The queue for a subscriber of type 'class org.openhab.core.io.monitor.internal.EventLogger' exceeds 5000 elements. System may be unstable.
Possible Solution
Tried to double the java heap, with no sucess
Steps to Reproduce (for Bugs)
I see quite a lot of failed reads from the Modbus binding, as the Solis inverted tends not to return data reliably
Try 1 out of 3 failed when executing request (ModbusReadRequestBlueprint [slaveId=1, functionCode=READ_INPUT_REGISTERS, start=33161, length=20, maxTries=3]). Will try again soon. Error was I/O error, so resetting the connection. Error details: net.wimpi.modbus.ModbusIOException I/O exception: SocketTimeoutException Read timed out [operation ID 2e68ba34-d7f8-432f-852c-569b983ae928]
While this may be a bug in the modbus binding, perhaps in core we could implement mitigation to improve core's resiliency against such incidents, so that one misbehaving addon doesn't bring the whole system down.