zwave-js-ui icon indicating copy to clipboard operation
zwave-js-ui copied to clipboard

Raspberry Pi 3B+ Upgrades breaks ZwaveJS-UI Container

Open pdobrien3 opened this issue 1 year ago • 43 comments

Checklist

  • [X] I am not using Home Assistant. Or: a developer has told me to come here.
  • [X] I have checked the troubleshooting section and my problem is not described there.
  • [X] I have read the changelog and my problem is not mentioned there.

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

pdobrien3 avatar Mar 16 '24 19:03 pdobrien3

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

dumasjy avatar Mar 17 '24 17:03 dumasjy

@pdobrien3 Could you give me some error logs please?

robertsLando avatar Mar 18 '24 08:03 robertsLando

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

pdobrien3 avatar Mar 18 '24 09:03 pdobrien3

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...

swstraus avatar Mar 20 '24 23:03 swstraus

@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...

robertsLando avatar Mar 21 '24 16:03 robertsLando

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.

swstraus avatar Mar 21 '24 17:03 swstraus

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

Nathan-Weber avatar Mar 21 '24 19:03 Nathan-Weber

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

swstraus avatar Mar 21 '24 20:03 swstraus

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

kpine avatar Mar 21 '24 20:03 kpine

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

swstraus avatar Mar 21 '24 20:03 swstraus

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

pdobrien3 avatar Mar 21 '24 20:03 pdobrien3

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

swstraus avatar Mar 21 '24 20:03 swstraus

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

kpine avatar Mar 21 '24 20:03 kpine

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

swstraus avatar Mar 22 '24 05:03 swstraus

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

robertsLando avatar Mar 22 '24 07:03 robertsLando

Has anyone tried robertsLando's suggestions or reported elsewhere?

pdobrien3 avatar Mar 29 '24 08:03 pdobrien3

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 avatar Mar 31 '24 12:03 pdobrien3

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 avatar Mar 31 '24 15:03 pdobrien3

I am also having issues with a Zooz ZST39 LR though

pdobrien3 avatar Mar 31 '24 15:03 pdobrien3

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).

swstraus avatar Mar 31 '24 17:03 swstraus

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

robertsLando avatar Apr 02 '24 06:04 robertsLando

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.

swstraus avatar Apr 02 '24 15:04 swstraus

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

nono20004 avatar Apr 07 '24 05:04 nono20004

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

nono20004 avatar Apr 07 '24 05:04 nono20004

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.

swstraus avatar Apr 20 '24 00:04 swstraus

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

nono20004 avatar May 04 '24 06:05 nono20004

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.

swstraus avatar May 04 '24 13:05 swstraus

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.

pdobrien3 avatar May 04 '24 13:05 pdobrien3

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

nono20004 avatar May 05 '24 07:05 nono20004

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

robertsLando avatar May 06 '24 12:05 robertsLando