zwave-js / zwave-js-ui

Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify
https://zwave-js.github.io/zwave-js-ui
MIT License
923 stars 197 forks source link

Raspberry Pi 3B+ Upgrades breaks ZwaveJS-UI Container #3639

Open pdobrien3 opened 4 months ago

pdobrien3 commented 4 months ago

Checklist

Deploy method

Docker

Z-Wave JS UI version

9.9.1

ZwaveJS version

12.4.4

Describe the bug

Recent Raspberry Pi kernel updates breaks ZWaveJS container installs and ultimately crashes the Raspberry Pi 3B+. My Raspberry Pi is up to date minus the following:

linux-headers-rpi-v6/stable 1:6.6.20-1+rpt1 armhf [upgradable from: 1:6.1.73-1+rpt1] linux-headers-rpi-v7/stable 1:6.6.20-1+rpt1 armhf [upgradable from: 1:6.1.73-1+rpt1] linux-headers-rpi-v7l/stable 1:6.6.20-1+rpt1 armhf [upgradable from: 1:6.1.73-1+rpt1] linux-image-rpi-v6/stable 1:6.6.20-1+rpt1 armhf [upgradable from: 1:6.1.73-1+rpt1] linux-image-rpi-v7/stable 1:6.6.20-1+rpt1 armhf [upgradable from: 1:6.1.73-1+rpt1] linux-image-rpi-v7l/stable 1:6.6.20-1+rpt1 armhf [upgradable from: 1:6.1.73-1+rpt1] linux-image-rpi-v8/stable 1:6.6.20-1+rpt1 arm64 [upgradable from: 1:6.1.73-1+rpt1] linux-libc-dev/stable,stable 1:6.6.20-1+rpt1 armhf [upgradable from: 1:6.1.73-1+rpt1]

To Reproduce

start the container. after about 13 seconds, the container will crash and the pi will be unreachable either through ssh or connected directly through a keyboard/mouse and monitor. if you unplug the zwave stick and stop the container, and reboot, everything works fine including other docker containers initially reported here (https://github.com/home-assistant/core/issues/113592) but closed due to being told to report to zwace-js-ui.

further described here ( Any debugging is listed in discord starting at https://discord.com/channels/330944238910963714/332357267364249621/1217772010025779252)

Expected behavior

stable awave network through docker on a pi 3b+ with an aeotec gen5 zwace stick

Additional context

No response

dumasjy commented 3 months ago

I encounter exactly the same issue since yesterday after a reboot (same raspberry. How to solve that ?

robertsLando commented 3 months ago

@pdobrien3 Could you give me some error logs please?

pdobrien3 commented 3 months ago

due to the fact the pi becomes unresponsive this is all I could get:

https://imgur.com/a/3OBPw85

and this through dmesg:

[Thu Mar 14 21:10:46 2024] br-93e1e1257666: port 2(veth3f96546) entered blocking state
[Thu Mar 14 21:10:46 2024] br-93e1e1257666: port 2(veth3f96546) entered disabled state
[Thu Mar 14 21:10:46 2024] veth3f96546: entered allmulticast mode
[Thu Mar 14 21:10:46 2024] veth3f96546: entered promiscuous mode
[Thu Mar 14 21:10:47 2024] eth0: renamed from veth3fe6543
[Thu Mar 14 21:10:47 2024] br-93e1e1257666: port 2(veth3f96546) entered blocking state
[Thu Mar 14 21:10:47 2024] br-93e1e1257666: port 2(veth3f96546) entered forwarding state

and docker logs:

zwavejs2mqtt  | 2024-03-14 22:09:21.883 WARN STORE: scenes.json not found
zwavejs2mqtt  | Logging to file:
zwavejs2mqtt  |         /usr/src/app/store/logs/zwavejs_2024-03-14.log
swstraus commented 3 months ago

I'm experiencing this exact same Issue on a fresh install of Bookworm 12 on a Rpi 3+ with an Aeotec Gen5. I had to replace an sd card, so I just decided to use the latest version of the OS. I can confirm this definitely locks the machine hard. Normally I'd set up kdump and get it to crash and see if I can tell generally where the problem is, but it looks like that involves compiling a new kernel, which I don't have time to do at the moment. That said, I don't think this is a problem with zwavejsui. This appears to be a problem with the 6.6.20 kernel on Debian. I'm only piling on here because I think as more people upgrade this is going to be reported more. I just reinstalled Bullseye, re-ran my ansible playbook on the host, restored my zwave-js-ui backup and it's up and running like nothing changed.

root@zwave:~# uname -a
Linux zwave 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
root@zwave:~# uname -a
Linux zwave 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
root@zwave:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
zwave-js-ui  | 2024-03-20 22:04:39.755 INFO APP: Version: 9.9.1.f6dff21
zwave-js-ui  | 2024-03-20 22:04:39.902 INFO APP: Application path:/usr/src/app
zwave-js-ui  |   ______  __          __                      _  _____     _    _ _____ 
zwave-js-ui  |  |___  /  \ \        / /                     | |/ ____|   | |  | |_   _|
zwave-js-ui  |     / /____\ \  /\  / /_ ___   _____         | | (___     | |  | | | |  
zwave-js-ui  |    / /______\ \/  \/ / _' \ \ / / _ \    _   | |\___ \    | |  | | | |  
zwave-js-ui  |   / /__      \  /\  / (_| |\ V /  __/   | |__| |____) |   | |__| |_| |_ 
zwave-js-ui  |  /_____|      \/  \/ \__,_| \_/ \___|    \____/|_____/     \____/|_____|
zwave-js-ui  | 
zwave-js-ui  | 2024-03-20 22:04:39.987 WARN STORE: scenes.json not found
zwave-js-ui  | 2024-03-20 22:04:40.171 INFO LOGGER: Cleaning up log files...
zwave-js-ui  | 22:04:40.549 DRIVER   ███████╗        ██╗    ██╗  █████╗  ██╗   ██╗ ███████╗          ██╗ ███████╗
zwave-js-ui  |                       ╚══███╔╝        ██║    ██║ ██╔══██╗ ██║   ██║ ██╔════╝          ██║ ██╔════╝
zwave-js-ui  |                         ███╔╝  █████╗ ██║ █╗ ██║ ███████║ ██║   ██║ █████╗            ██║ ███████╗
zwave-js-ui  |                        ███╔╝   ╚════╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝       ██   ██║ ╚════██║
zwave-js-ui  |                       ███████╗        ╚███╔███╔╝ ██║  ██║  ╚████╔╝  ███████╗     ╚█████╔╝ ███████║
zwave-js-ui  |                       ╚══════╝         ╚══╝╚══╝  ╚═╝  ╚═╝   ╚═══╝   ╚══════╝      ╚════╝  ╚══════╝
zwave-js-ui  | 22:04:40.561 DRIVER   version 12.4.4
zwave-js-ui  | 22:04:40.565 DRIVER   
zwave-js-ui  | 22:04:40.569 DRIVER   starting driver...
zwave-js-ui  | 22:04:40.572 DRIVER   opening serial port /dev/zwave
zwave-js-ui  | 22:04:40.606 DRIVER   serial port opened
zwave-js-ui  | 22:04:40.617 SERIAL » 0x15                                                                 (1 bytes)
zwave-js-ui  | 22:04:40.639 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:40.661 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:40.665 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:40.673 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:40.680 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:40.684 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:40.690 SERIAL « 0x010b0004001703250300c10003                                        (13 bytes)
zwave-js-ui  | 22:04:40.696 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:40.700 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:40.903 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:40.910 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:40.913 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:41.637 DRIVER   loading configuration...
zwave-js-ui  | 22:04:41.668 CONFIG   Using external configuration dir /usr/src/app/store/.config-db
zwave-js-ui  | 22:04:41.670 CONFIG   version 12.4.4
zwave-js-ui  | 22:04:43.953 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:43.956 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:43.962 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:43.964 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:43.966 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:43.968 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:43.976 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:43.980 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:43.982 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:44.154 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:44.158 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:44.159 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:45.250 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:45.253 DRIVER   Dropping message because the driver is not ready to handle it yet.
zwave-js-ui  | 22:04:45.255 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:45.329 DRIVER   beginning interview...
zwave-js-ui  | 22:04:45.336 DRIVER   added request handler for AddNodeToNetwork (0x4a)...
zwave-js-ui  |                       1 registered
zwave-js-ui  | 22:04:45.340 DRIVER   added request handler for RemoveNodeFromNetwork (0x4b)...
zwave-js-ui  |                       1 registered
zwave-js-ui  | 22:04:45.341 DRIVER   added request handler for ReplaceFailedNode (0x63)...
zwave-js-ui  |                       1 registered
zwave-js-ui  | 22:04:45.344 DRIVER   added request handler for SerialAPIStarted (0x0a)...
zwave-js-ui  |                       1 registered
zwave-js-ui  | 22:04:45.350 CNTRLR   querying Serial API capabilities...
zwave-js-ui  | 22:04:46.349 SERIAL » 0x01030007fb                                                         (5 bytes)
zwave-js-ui  | 22:04:46.357 DRIVER » [REQ] [GetSerialApiCapabilities]
zwave-js-ui  | 22:04:46.408 SERIAL « 0x010b0004001703250300c30001                                        (13 bytes)
zwave-js-ui  | 22:04:46.417 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.420 SERIAL « [CAN]                                                                   (0x18)
zwave-js-ui  | 22:04:46.435 CNTRLR   Failed to execute controller command after 1/3 attempts. Scheduling next try i
zwave-js-ui  |                       n 100 ms.
zwave-js-ui  | 22:04:46.455 CNTRLR   [Node 023] is unknown - discarding received command...
zwave-js-ui  | 22:04:46.464 DRIVER « [Node 023] [REQ] [ApplicationCommand]                              [discarded]
zwave-js-ui  |                       └─[BinarySwitchCCReport]
zwave-js-ui  |                           current value: false
zwave-js-ui  | 22:04:46.542 DRIVER » [REQ] [GetSerialApiCapabilities]
zwave-js-ui  | 22:04:46.544 SERIAL » 0x01030007fb                                                         (5 bytes)
zwave-js-ui  | 22:04:46.557 SERIAL « [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.569 SERIAL « 0x012b0107010200860001005afe877f88cf7fc04ffbdffde067008080008086000 (45 bytes)
zwave-js-ui  |                       100e87300800f000060000090
zwave-js-ui  | 22:04:46.574 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.579 DRIVER « [RES] [GetSerialApiCapabilities]
zwave-js-ui  |                         payload: 0x010200860001005afe877f88cf7fc04ffbdffde067008080008086000100e8730
zwave-js-ui  |                       0800f0000600000
zwave-js-ui  | 22:04:46.605 CNTRLR   received API capabilities:
zwave-js-ui  |                         firmware version:    1.2
zwave-js-ui  |                         manufacturer ID:     0x86
zwave-js-ui  |                         product type:        0x01
zwave-js-ui  |                         product ID:          0x5a
zwave-js-ui  |                         supported functions: 
zwave-js-ui  |                         · GetSerialApiInitData (0x02)
zwave-js-ui  |                         · SetApplicationNodeInformation (0x03)
zwave-js-ui  |                         · ApplicationCommand (0x04)
zwave-js-ui  |                         · GetControllerCapabilities (0x05)
zwave-js-ui  |                         · SetSerialApiTimeouts (0x06)
zwave-js-ui  |                         · GetSerialApiCapabilities (0x07)
zwave-js-ui  |                         · SoftReset (0x08)
zwave-js-ui  |                         · GetProtocolVersion (0x09)
zwave-js-ui  |                         · SerialAPIStarted (0x0a)
zwave-js-ui  |                         · SerialAPISetup (0x0b)
zwave-js-ui  |                         · SetRFReceiveMode (0x10)
zwave-js-ui  |                         · UNKNOWN_FUNC_SET_SLEEP_MODE (0x11)
zwave-js-ui  |                         · FUNC_ID_ZW_SEND_NODE_INFORMATION (0x12)
zwave-js-ui  |                         · SendData (0x13)
zwave-js-ui  |                         · SendDataMulticast (0x14)
zwave-js-ui  |                         · GetControllerVersion (0x15)
zwave-js-ui  |                         · SendDataAbort (0x16)
zwave-js-ui  |                         · FUNC_ID_ZW_R_F_POWER_LEVEL_SET (0x17)
zwave-js-ui  |                         · FUNC_ID_ZW_GET_RANDOM (0x1c)
zwave-js-ui  |                         · GetControllerId (0x20)
zwave-js-ui  |                         · UNKNOWN_FUNC_MEMORY_GET_BYTE (0x21)
zwave-js-ui  |                         · UNKNOWN_FUNC_MEMORY_PUT_BYTE (0x22)
zwave-js-ui  |                         · UNKNOWN_FUNC_MEMORY_GET_BUFFER (0x23)
zwave-js-ui  |                         · UNKNOWN_FUNC_MEMORY_PUT_BUFFER (0x24)
zwave-js-ui  |                         · EnterBootloader (0x27)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0x28 (0x28)
zwave-js-ui  |                         · GetNVMId (0x29)
zwave-js-ui  |                         · ExtNVMReadLongBuffer (0x2a)
zwave-js-ui  |                         · ExtNVMWriteLongBuffer (0x2b)
zwave-js-ui  |                         · ExtNVMReadLongByte (0x2c)
zwave-js-ui  |                         · ExtExtWriteLongByte (0x2d)
zwave-js-ui  |                         · NVMOperations (0x2e)
zwave-js-ui  |                         · undefined (0x2f)
zwave-js-ui  |                         · undefined (0x37)
zwave-js-ui  |                         · undefined (0x38)
zwave-js-ui  |                         · UNKNOWN_FUNC_ClearNetworkStats (0x39)
zwave-js-ui  |                         · UNKNOWN_FUNC_GetNetworkStats (0x3a)
zwave-js-ui  |                         · GetBackgroundRSSI (0x3b)
zwave-js-ui  |                         · undefined (0x3c)
zwave-js-ui  |                         · UNKNOWN_FUNC_RemoveNodeIdFromNetwork (0x3f)
zwave-js-ui  |                         · GetNodeProtocolInfo (0x41)
zwave-js-ui  |                         · HardReset (0x42)
zwave-js-ui  |                         · FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE (0x44)
zwave-js-ui  |                         · FUNC_ID_ZW_REPLICATION_SEND_DATA (0x45)
zwave-js-ui  |                         · AssignReturnRoute (0x46)
zwave-js-ui  |                         · DeleteReturnRoute (0x47)
zwave-js-ui  |                         · RequestNodeNeighborUpdate (0x48)
zwave-js-ui  |                         · ApplicationUpdateRequest (0x49)
zwave-js-ui  |                         · AddNodeToNetwork (0x4a)
zwave-js-ui  |                         · RemoveNodeFromNetwork (0x4b)
zwave-js-ui  |                         · FUNC_ID_ZW_CREATE_NEW_PRIMARY (0x4c)
zwave-js-ui  |                         · FUNC_ID_ZW_CONTROLLER_CHANGE (0x4d)
zwave-js-ui  |                         · AssignPriorityReturnRoute (0x4f)
zwave-js-ui  |                         · FUNC_ID_ZW_SET_LEARN_MODE (0x50)
zwave-js-ui  |                         · AssignSUCReturnRoute (0x51)
zwave-js-ui  |                         · FUNC_ID_ZW_REQUEST_NETWORK_UPDATE (0x53)
zwave-js-ui  |                         · SetSUCNodeId (0x54)
zwave-js-ui  |                         · DeleteSUCReturnRoute (0x55)
zwave-js-ui  |                         · GetSUCNodeId (0x56)
zwave-js-ui  |                         · UNKNOWN_FUNC_SEND_SUC_ID (0x57)
zwave-js-ui  |                         · AssignPrioritySUCReturnRoute (0x58)
zwave-js-ui  |                         · FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION (0x5e)
zwave-js-ui  |                         · undefined (0x5f)
zwave-js-ui  |                         · RequestNodeInfo (0x60)
zwave-js-ui  |                         · RemoveFailedNode (0x61)
zwave-js-ui  |                         · IsFailedNode (0x62)
zwave-js-ui  |                         · ReplaceFailedNode (0x63)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0x66 (0x66)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0x67 (0x67)
zwave-js-ui  |                         · FirmwareUpdateNVM (0x78)
zwave-js-ui  |                         · GetRoutingInfo (0x80)
zwave-js-ui  |                         · UNKNOWN_FUNC_LOCK_ROUTE_RESPONSE (0x90)
zwave-js-ui  |                         · GetPriorityRoute (0x92)
zwave-js-ui  |                         · SetPriorityRoute (0x93)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0x98 (0x98)
zwave-js-ui  |                         · FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER (0xa1)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0xB4 (0xb4)
zwave-js-ui  |                         · UNKNOWN_FUNC_WATCH_DOG_ENABLE (0xb6)
zwave-js-ui  |                         · UNKNOWN_FUNC_WATCH_DOG_DISABLE (0xb7)
zwave-js-ui  |                         · UNKNOWN_FUNC_WATCH_DOG_KICK (0xb8)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0xB9 (0xb9)
zwave-js-ui  |                         · UNKNOWN_FUNC_RF_POWERLEVEL_GET (0xba)
zwave-js-ui  |                         · UNKNOWN_FUNC_GET_LIBRARY_TYPE (0xbd)
zwave-js-ui  |                         · UNKNOWN_FUNC_SEND_TEST_FRAME (0xbe)
zwave-js-ui  |                         · UNKNOWN_FUNC_GET_PROTOCOL_STATUS (0xbf)
zwave-js-ui  |                         · FUNC_ID_ZW_SET_PROMISCUOUS_MODE (0xd0)
zwave-js-ui  |                         · FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER (0xd1)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0xD2 (0xd2)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0xD3 (0xd3)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0xD4 (0xd4)
zwave-js-ui  |                         · undefined (0xee)
zwave-js-ui  |                         · UNKNOWN_FUNC_UNKNOWN_0xEF (0xef)
zwave-js-ui  | 22:04:46.611 CNTRLR   querying version info...
zwave-js-ui  | 22:04:46.640 SERIAL » 0x01030015e9                                                         (5 bytes)
zwave-js-ui  | 22:04:46.643 DRIVER » [REQ] [GetControllerVersion]
zwave-js-ui  | 22:04:46.650 SERIAL « [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.656 SERIAL « 0x011001155a2d5761766520362e3037000197                              (18 bytes)
zwave-js-ui  | 22:04:46.661 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.664 DRIVER « [RES] [GetControllerVersion]
zwave-js-ui  |                         payload: 0x5a2d5761766520362e30370001
zwave-js-ui  | 22:04:46.676 CNTRLR   received version info:
zwave-js-ui  |                         controller type: Static Controller
zwave-js-ui  |                         library version: Z-Wave 6.07
zwave-js-ui  | 22:04:46.679 CNTRLR   querying protocol version info...
zwave-js-ui  | 22:04:46.696 SERIAL » 0x01030009f5                                                         (5 bytes)
zwave-js-ui  | 22:04:46.701 DRIVER » [REQ] [GetProtocolVersion]
zwave-js-ui  | 22:04:46.708 SERIAL « [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.712 SERIAL « 0x010901090006070000619e                                            (11 bytes)
zwave-js-ui  | 22:04:46.715 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.720 DRIVER « [RES] [GetProtocolVersion]
zwave-js-ui  |                         payload: 0x000607000061
zwave-js-ui  | 22:04:46.731 CNTRLR   received protocol version info:
zwave-js-ui  |                         protocol type:             Z-Wave
zwave-js-ui  |                         protocol version:          6.7.0
zwave-js-ui  |                         appl. framework build no.: 97
zwave-js-ui  | 22:04:46.734 CNTRLR   querying serial API setup capabilities...
zwave-js-ui  | 22:04:46.751 SERIAL » 0x0104000b01f1                                                       (6 bytes)
zwave-js-ui  | 22:04:46.755 DRIVER » [REQ] [SerialAPISetup]
zwave-js-ui  |                         command: GetSupportedCommands
zwave-js-ui  |                         payload: 0x01
zwave-js-ui  | 22:04:46.762 SERIAL « [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.766 SERIAL « 0x0105010b011eef                                                     (7 bytes)
zwave-js-ui  | 22:04:46.771 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.776 DRIVER « [RES] [SerialAPISetup]
zwave-js-ui  |                         command: GetSupportedCommands
zwave-js-ui  |                         payload: 0x1e
zwave-js-ui  | 22:04:46.787 CNTRLR   supported serial API setup commands:
zwave-js-ui  |                       · GetSupportedCommands
zwave-js-ui  |                       · SetTxStatusReport
zwave-js-ui  |                       · SetPowerlevel
zwave-js-ui  |                       · GetPowerlevel
zwave-js-ui  |                       · GetMaximumPayloadSize
zwave-js-ui  | 22:04:46.790 CNTRLR   querying controller IDs...
zwave-js-ui  | 22:04:46.803 SERIAL » 0x01030020dc                                                         (5 bytes)
zwave-js-ui  | 22:04:46.807 DRIVER » [REQ] [GetControllerId]
zwave-js-ui  | 22:04:46.813 SERIAL « [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.817 SERIAL « 0x01080120f1c2a9dc0191                                              (10 bytes)
zwave-js-ui  | 22:04:46.821 SERIAL » [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.825 DRIVER « [RES] [GetControllerId]
zwave-js-ui  |                         home ID:     0xf1c2a9dc
zwave-js-ui  |                         own node ID: 1
zwave-js-ui  | 22:04:46.834 CNTRLR   received controller IDs:
zwave-js-ui  |                         home ID:     0xf1c2a9dc
zwave-js-ui  |                         own node ID: 1
zwave-js-ui  | 22:04:46.843 DRIVER   all queues idle
zwave-js-ui  | 22:04:46.957 CNTRLR   Performing soft reset...
zwave-js-ui  | 22:04:46.963 DRIVER   all queues busy
zwave-js-ui  | 22:04:46.971 SERIAL » 0x01030008f4                                                         (5 bytes)
zwave-js-ui  | 22:04:46.974 DRIVER » [REQ] [SoftReset]
zwave-js-ui  | 22:04:46.982 SERIAL « [ACK]                                                                   (0x06)
zwave-js-ui  | 22:04:46.990 CNTRLR   Waiting for the controller to reconnect...
zwave-js-ui  | 22:04:46.995 DRIVER   all queues idle
zwave-js-ui  | 22:04:48.495 CNTRLR   Re-opening serial port...
robertsLando commented 3 months ago

@swstraus @pdobrien3 does anyone have any clue why this could happen? Because I don't have an RPI 3 to try reproducing this and I also dunno what from where to start searching what could cause this problem...

swstraus commented 3 months ago

No idea. I'm suspecting a usb related issue here. If i try to boot with the controller inserted, it hangs during boot (with docker disabled btw). If I take the controller out, it boots fine. If I insert the controller after the unit is fully booted, everything is ok. lsusb shows controller. If I then start zwave-js-ui, it just locks the whole machine after a few seconds. There is no output of any kind recorded or displayed that indicates what may have happened. It is interesting that it occurred after the js ui soft reset on startup, but that may have just been a coincidence and certainly doesn't account for the lock up during boot.

I have another Pi 3+ I can use to test this. I also have another fresh zwave stick that's not an aeotec that I can use to try to reproduce if this is something specific with the aeotec. @pdobrien3 can you confirm what your previous kernel was? I'm running 6.1.21 on my working Debian 11 install. I'm pretty sure Debian 12 was on a 6.1 kernel as well prior to this 6.6.20 update.

The only way I can think of to proceed further is to get working kernel crashdumps going, but I'm not 100% sure this is even a kernel panic.

Another interesting thing to try would be doing this on a non-raspberry pi but with Debian 12 to see if this is anything specific to the pi or to the kernel.

Nathan-Weber commented 3 months ago

I am affected by this as well, below is a timeline best I can remember of the problem manifesting itself. Using a Raspberry Pi 3 with Aeotec Z-Stick 5+

March 14th Flash blank SD card using Raspberry Pi Imager - Bookworm Lite 64-bit Install Docker

March 15th Copy over volumes Ran docker compose pull, docker compose up Checked Zwave-JS webpage, everything looked good and Mosquitto was receiving data.

March 17 or 18th Ran docker compose pull, docker compose up Pi immediately locked up Found I had about a 30 second window to SSH to Pi before the connection timed out After trying that route for some time, disconnected Pi, brought it into the house and connected it to a monitor Pi would boot but before login prompt screen would blank out and enter power saving mode. Mounted the SD card on another computer, dug through the logs a bit but could not find anything that stood out

March 20 Reflash SD card with latest Bookworm image from Raspberry Pi Imager Set up Pi, moved configurations etc. Ran docker compose pull, docker compose up - Pi immediately locked up

I'm going to try some different combinations of Bookworm and ZWave-JS versions tonight and see if I can narrow down what change is causing the Pi to lock up. It was working between March 15 & 17 and I don't believe I updated any other software on the Pi during that time.

Let me know if you need any more information

swstraus commented 3 months ago

@Nathan-Weber What kernel are you running? (uname -a)

kpine commented 3 months ago

No issues so far on x86_64 with Debian 12 and latest available kernel (bookworm-backports):

$ cat /etc/debian_version 
12.5
$ uname -a
Linux koro 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux

6.6.20 is not available for Debian 12, that's specific to Raspberry Pi OS. http://archive.raspberrypi.org/debian/pool/main/l/linux/

I would suspect the issue is related to Raspberry Pi more so than than a difference between kernels 6.6.13 and 6.6.20, but can't say for certain.

I have two instances of ZUI (two USB controllers) running on this server for testing (in Docker).

zwave-js-ui: 9.9.1.f6dff21
zwave-js: 12.4.4
swstraus commented 3 months ago

Another data point. I just installed a Zooz S2 Stick 700 on a pi 3 running Debian 12, and it started just fine.

root@raspberrypi:/usr/local/container-compose/zwavejsui# docker logs zwave-js-ui
2024-03-21 20:33:44.564 INFO APP: Version: 9.9.1.f6dff21
2024-03-21 20:33:44.698 INFO APP: Application path:/usr/src/app
  ______  __          __                      _  _____     _    _ _____ 
 |___  /  \ \        / /                     | |/ ____|   | |  | |_   _|
    / /____\ \  /\  / /_ ___   _____         | | (___     | |  | | | |  
   / /______\ \/  \/ / _' \ \ / / _ \    _   | |\___ \    | |  | | | |  
  / /__      \  /\  / (_| |\ V /  __/   | |__| |____) |   | |__| |_| |_ 
 /_____|      \/  \/ \__,_| \_/ \___|    \____/|_____/     \____/|_____|

2024-03-21 20:33:44.755 WARN STORE: settings.json not found
2024-03-21 20:33:44.766 WARN STORE: scenes.json not found
2024-03-21 20:33:44.781 WARN STORE: nodes.json not found
2024-03-21 20:33:44.792 WARN STORE: users.json not found
2024-03-21 20:33:44.853 INFO APP: Listening on port 8091 protocol HTTP
2024-03-21 20:33:45.353 WARN BACKUP: Store backup is disabled
2024-03-21 20:33:45.364 WARN BACKUP: Nvm backup is disabled
2024-03-21 20:33:45.373 WARN Z-WAVE: Z-Wave driver not inited, no port configured
2024-03-21 20:33:46.806 INFO APP: GET / 200 66.615 ms - 1680
2024-03-21 20:33:47.724 INFO APP: GET /registerSW.js 200 866.527 ms - 136
2024-03-21 20:33:47.783 INFO APP: GET /assets/index-2bb3dbeb.css 200 879.232 ms - 649757
2024-03-21 20:33:47.810 INFO APP: GET /assets/index-46d9cf4b.js 200 878.366 ms - 1161471
2024-03-21 20:33:47.896 INFO APP: GET /assets/Login-9c77b750.js 200 12.580 ms - 4135
2024-03-21 20:33:47.904 INFO APP: GET /assets/Login-1826b0a1.css 200 15.843 ms - 5433
2024-03-21 20:33:47.954 INFO APP: GET /api/auth-enabled 200 40.468 ms - 29
2024-03-21 20:33:47.985 INFO APP: GET /assets/ControlPanel-b8cca3eb.js 200 20.654 ms - 16853
2024-03-21 20:33:47.993 INFO APP: GET /logo.svg 200 20.153 ms - 1895
2024-03-21 20:33:48.092 INFO APP: GET /assets/MaterialIcons-Regular-5743ed3d.woff2 200 66.521 ms - 125116
2024-03-21 20:33:48.118 INFO APP: GET /assets/DialogAdvanced-6ccf466e.js 200 83.124 ms - 1306
2024-03-21 20:33:48.131 INFO APP: GET /assets/index-930b654f.js 200 92.470 ms - 20165
2024-03-21 20:33:48.142 INFO APP: GET /assets/mdi-4fe99e39.js 200 81.119 ms - 9426
2024-03-21 20:33:48.155 INFO APP: GET /assets/index-ab198a2a.css 200 90.813 ms - 393
2024-03-21 20:33:48.161 INFO APP: GET /assets/vuedraggable.umd-5ed0b2ef.js 200 80.228 ms - 71040
2024-03-21 20:33:48.261 INFO APP: GET /assets/DialogAdvanced-eaabda04.css 200 132.317 ms - 450
2024-03-21 20:33:48.285 INFO APP: GET /assets/ColumnFilter-5990d962.js 200 29.099 ms - 3498
2024-03-21 20:33:48.326 INFO APP: GET /assets/ColumnFilterNumber-8084c757.js 200 25.535 ms - 1774
2024-03-21 20:33:48.334 INFO APP: GET /assets/ColumnFilterString-907b898e.js 200 30.176 ms - 1257
2024-03-21 20:33:48.343 INFO APP: GET /assets/ColumnFilterBoolean-029becbb.js 200 34.441 ms - 703
2024-03-21 20:33:48.352 INFO APP: GET /assets/ColumnFilterDate-1e20ba7f.js 200 36.332 ms - 1196
2024-03-21 20:33:48.571 INFO APP: GET /apple-touch-icon-180x180.png 200 15.158 ms - 1268
2024-03-21 20:33:48.579 INFO APP: GET /favicon.ico 200 20.761 ms - 923
2024-03-21 20:33:49.521 INFO APP: GET /api/settings 200 1373.159 ms - 12391
2024-03-21 20:33:49.581 INFO APP: GET /api/auth-enabled 304 9.079 ms - -
2024-03-21 20:33:53.872 WARN Z-WAVE: Zwavejs driver is not ready yet, statistics will be enabled on driver initialization
2024-03-21 20:33:53.878 INFO APP: POST /api/statistics 200 79.397 ms - 89
2024-03-21 20:33:54.231 INFO APP: GET /assets/index-d9bc2c2a.js 200 9.615 ms - 108901
2024-03-21 20:33:59.331 INFO APP: POST /api/versions 200 22.695 ms - 58
2024-03-21 20:34:02.199 INFO APP: GET /assets/SmartStart-ed6a7403.js 200 8.279 ms - 8821
2024-03-21 20:34:02.247 INFO Z-WAVE: Calling api getProvisioningEntries with args: [ [length]: 0 ]
2024-03-21 20:34:02.252 INFO Z-WAVE: Z-Wave client not connected getProvisioningEntries undefined
2024-03-21 20:34:16.132 INFO APP: GET /assets/items-b975576a.js 200 23.025 ms - 147
2024-03-21 20:34:16.141 INFO APP: GET /assets/Settings-03358437.css 200 30.117 ms - 78
2024-03-21 20:34:16.150 INFO APP: GET /assets/Settings-3ea3113b.js 200 22.740 ms - 72421
2024-03-21 20:34:16.189 INFO APP: GET /assets/DialogGatewayValue-f922bb8c.js 200 12.319 ms - 8290
2024-03-21 20:34:16.197 INFO APP: GET /assets/DialogGatewayValue-911dd212.css 200 16.322 ms - 61
2024-03-21 20:34:17.346 INFO APP: GET /api/settings 200 1140.708 ms - 12546
2024-03-21 20:34:17.369 INFO APP: GET /api/auth-enabled 304 6.228 ms - -
root@raspberrypi:/usr/local/container-compose/zwavejsui# uname -a
Linux raspberrypi 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
pdobrien3 commented 3 months ago

Linux RaspberryPi3ZWave 6.1.0-rpi8-rpi-v7 #1 SMP Raspbian 1:6.1.73-1+rpt1 (2024-01-25) armv7l GNU/Linux but i rolled back after having the issue

swstraus commented 3 months ago

@kpine I was suspecting it being more of an issue from 6.1 -> 6.6. What zwave controller are you running?

kpine commented 3 months ago

SiLabs UZB7 and 800 dev kit, no Gen5/Gen5+ to test with. Would be pretty wild if it were limited to the Aeotec.

swstraus commented 3 months ago

Firing the zooz stick up with no configuration wasn't a valid test. I did the same thing with the aeotec on the test pi and there were no issues. I restored my zwave-js-ui configuration backup and reproduced the crash again with the aeotec. I would have to transfer my zwave network backup onto the the zooz stick and try it out. The Firmware transaction timeout message in @pdobrien3 's screenshot above seems to indicate a problem with this kernel and the rpi firmware maybe? I ran dmesg -w while reproducing the crash and was able to get a similar result. Updating the pi with rpi-update did not resolve.

https://i.imgur.com/iow7kcw.jpeg

robertsLando commented 3 months ago

Thanks everyone for adding more details to this issue. Unfortunately I don't think there is much I can do on ZUI side in order to fix this. Another try I could suggest is to try disabling soft-reset from settings to see if that makes it work considering it locked just after that by looking at the logs. Soft reset is seen by the os like unplugging and plug back the stick so IMO that could be a possible root cause of the problem. The OS should handle it for sure and this should be reported to raspbian/debian IMO but at least this could be a solution to the ones expecting this issue.

I'm also wondering if this is just something related to docker or if this happens also when using snap or any other deploy method

pdobrien3 commented 3 months ago

Has anyone tried robertsLando's suggestions or reported elsewhere?

pdobrien3 commented 3 months ago

I just turned off soft reset and upgraded. There were some docker upgrades along with the kernel upgrade. Raspi 3B+ boots fine and zwavejs-ui up and running.

Linux RaspberryPi3ZWave 6.6.20+rpt-rpi-v7 #1 SMP Raspbian 1:6.6.20-1+rpt1 (2024-03-07) armv7l GNU/Linux

pdobrien3 commented 3 months ago

looks like I called it to soon. The first boot was fine, subsequent boots resulted in same crash. Not sure if soft reset is automatically turned on somehow?

pdobrien3 commented 3 months ago

I am also having issues with a Zooz ZST39 LR though

swstraus commented 3 months ago

I have not had time to look into this any further. I think the next step is to get kernel crash dumps enabled, reproduce it, and then report it to rpi (not sure what the process is there).

robertsLando commented 3 months ago

I think the next step is to get kernel crash dumps enabled, reproduce it, and then report it to rpi (not sure what the process is there).

I think that's the way, in the meanwhile you could consider alternatives way to run the zui? Maybe the packaged or the snap version? You can find the packaged one on releases here on gh. You just have to download the package, unzip it and run like a normal exec, the store dir will be created next to the exec and you can place there your store backup and it will work as before. This could be also a nice try in order to see if the bug is strictly related to docker

swstraus commented 3 months ago

That's an important bit to know, for sure. I should have time to look at this later in the week. If someone else can get to it sooner, all the better.

nono20004 commented 3 months ago

Hello I have the same problem... Have you a solution please

nono20004 commented 3 months ago

looks like I called it to soon. The first boot was fine, subsequent boots resulted in same crash. Not sure if soft reset is automatically turned on somehow?

Hello have you soluce ? I have the same problem please

swstraus commented 2 months ago

Installed zwave-js-ui via snap and ported my config into /var/snap/zwave-js-ui/. As soon as it started it locked up exacly as it did when running under docker.

nono20004 commented 2 months ago

Hello I have test in snap, in docker it s the same problem. Block at startup in 30 seconds, 1 minute. It s complicated to have a box stable My firmware 6.6.30-v7+ Version : Rasp os 12 Docker 26.1.1 Zwave js 9.12

Have you an solution plesae

swstraus commented 2 months ago

I haven't had time to go further on this. In the meantime, I have my pi running on Debian 11 instead of 12. The only thing it does is zwave-js-ui, so that wasn't a big deal for me. I would do that until this is figured out.

pdobrien3 commented 2 months ago

I just upgraded to pi5 with an ssd hat and ssd :-) running 64bit Debian 12. Would still like to see some resolution though as my pi3 can still be a backup.

nono20004 commented 2 months ago

I wait a solution, because I can't change pi3 to pi 5 because I have 3 pi3 on spare... I m very disappointed ☹️

robertsLando commented 2 months ago

Hi guys I'm sorry that I cannot help you much on this, does anyone found some reference issue on debian/raspbian forums?

AToom74 commented 2 months ago

Hello, I have it stable for a couple of weeks with a pi 3. I use it with portainer stacks with the following setup: Linux kernel 6.1.77-v8+ Portainer CE 2.19.5 Docker version 26.1.1 Docker Compose version 2.27.0 zwave-js-ui: 9.3.0.724519f zwave-js: 12.2.3 and the latest pi OS 64bit

When I upgrade the rpi, it hangs again. When I revert to the above kernel. It works again.

Hopefully this help

nono20004 commented 2 months ago

Hello, I have it stable for a couple of weeks with a pi 3. I use it with portainer stacks with the following setup: Linux kernel 6.1.77-v8+ Portainer CE 2.19.5 Docker version 26.1.1 Docker Compose version 2.27.0 zwave-js-ui: 9.3.0.724519f zwave-js: 12.2.3 and the latest pi OS 64bit

When I upgrade the rpi, it hangs again. When I revert to the above kernel. It works again.

Hopefully this help

Hello yes it a good new , have you the command line to revert on 6.1.77 for pi3 b+ Please

AToom74 commented 2 months ago

Yes, I have the command from https://forums.raspberrypi.com/viewtopic.php?t=361116&start=50

sudo rpi-update af3ab905d42
nono20004 commented 2 months ago

Yes, I have the command from https://forums.raspberrypi.com/viewtopic.php?t=361116&start=50

/sudo rpi-update af3ab905d42

Thank you very much You are the best

nono20004 commented 2 months ago

Oui, j'ai la commande de https://forums.raspberrypi.com/viewtopic.php?t=361116&start=50

/sudo rpi-update af3ab905d42

Hello it s works. Thank you very much

robertsLando commented 2 months ago

Just to be clear, seems this is a problem starting from kernel version 6.2 right?

nono20004 commented 2 months ago

I don t know, but firmware 6.1.77 work perfectly

AToom74 commented 2 months ago

I also don't know, because I don't know how to test another version of a kernel on a pi3.

swstraus commented 2 months ago

Just to be clear, seems this is a problem starting from kernel version 6.2 right?

The problem appears to have surfaced when Debian 12 moved from Kernel 6.1 to 6.6. @pdobrien3 upgraded to a rpi 5 and is not having the issue even with those versions. It appears this issue is isolated to the rpi 3b+. It could be on other rpi models as well, but there's no way to know until someone makes a report.

coolduke666 commented 1 month ago

so the solution is to downgrade the kernel?

raymck commented 1 month ago

I have no clue if this is related, but I just tried a fresh zwave-js-ui + new Zooz800 USB + fresh Debian 12 install on a Raspi 2B, and Debian would hang every time I clicked Save after changing the zwave device setting away from /dev/zwave to the Zooz by-id choice.

I did the same thing with the same setup except a fresh Debian 11 install, and things went off without a hitch.

Zwave-js-ui + ancient RaZberry zwave pi hat + fresh Debian 12 also worked great. I did that install first to issue a hard reset and to start fresh with my zwave network.

Edit: Bare metal installs via package for all.

robertsLando commented 1 month ago

would hang every time I clicked Save after changing the zwave device setting away from /dev/zwave to the Zooz by-id choice.

The issue seems to happen when there is an access to the serial port so

clomipax commented 1 month ago

Same issue : Raspberry PI 3 family raspberry Pi OS fresh install. Crash when "save" button pressed. Zwave usb stick (Machine is not close to me no more info, it's now unresponsive)

EDIT : If it can help : Linux xxxt-xxzo 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux Revision : a02082 Model : Raspberry Pi 3 Model B Rev 1.2 Raspberry Pi OS bookworm Up to date 2024/06/08 Zwave usb Aeotec Zstick Gen5

Following this manuel for Domoticz https://www.domoticz.com/wiki/Zwave-JS-UI

And now it works what i did : Change the Raspberry Pi location In an an other house with the Zwave stick but without the zwave domotic modules. Of course, the IP LAN adress changed (DHCP Pi side, fixed DHCP adress router side) Try to save, it crashed.

I tried to access MQTT with MQTT Explorer, it was working.

docker compose down docker compose up -d -> No crash and setting page zwave-js-ui was blank

docker compose down rm docker-compose.yml nano docker-compose.yml (There I copied and past the file content this time from this place https://github.com/zwave-js/zwave-js-ui/blob/master/docker/docker-compose.yml and put the usb name) (I Initially saw a message docker-compose.yml is obsolette pasted file from domoticz page, I don't remeber if the message was there or not after file change)(diff command between to files only give different indentation in last lines)

docker compose up -d Settings in zwave-js-ui were default ones

Followinf the Domoticz instruction, I put One by one the information in the form and then saved the config each time.

And now it works...

Very very strange...