Closed kenavn closed 1 month ago
Ps: other containers running on the same host are behaving as they should. I've also checked the zwave stick (Aotec series 5) which behaves normally.
@kenavn it could be for some reason you pulled an image with wrong arch?
This is the inspection of the relevant image. It says ARM64. Is there anything I can provide to bring more clarity to the case?
[
{
"Id": "sha256:3881abce91255b9bbaef5f35d1a7f968319b7f02cce72c1981abd4cb56c1cfbd",
"RepoTags": [
"zwavejs/zwave-js-ui:9.23",
"zwavejs/zwave-js-ui:latest"
],
"RepoDigests": [
"zwavejs/zwave-js-ui@sha256:f21a32e2edd11ac5301a4cb5f68b08ee46a18b262c30f6e6b3e56be45a4cdad7"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2024-10-14T16:03:53.663317794Z",
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8091/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db",
"TAG_NAME=",
"NODE_ENV=production"
],
"Cmd": [
"node",
"server/bin/www"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/usr/src/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "robertsLando",
"org.opencontainers.image.authors": "Daniel Lando <daniel.sorridi@gmail.com>",
"org.opencontainers.image.created": "2024-10-14T15:59:26.865Z",
"org.opencontainers.image.description": "Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify",
"org.opencontainers.image.documentation": "https://zwave-js.github.io/zwave-js-ui",
"org.opencontainers.image.licenses": "MIT",
"org.opencontainers.image.revision": "f9c9a48cdd6add00d52924f5c9c369cc57ed5a99",
"org.opencontainers.image.source": "https://github.com/zwave-js/zwave-js-ui",
"org.opencontainers.image.title": "zwave-js-ui",
"org.opencontainers.image.url": "https://github.com/zwave-js/zwave-js-ui",
"org.opencontainers.image.vendor": "zwave-js",
"org.opencontainers.image.version": "9.23.0"
}
},
"Architecture": "arm64",
"Os": "linux",
"Size": 290412356,
"GraphDriver": {
"Data": null,
"Name": "vfs"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:5f4d9fc4d98de91820d2a9c81e501c8cc6429bc8758b43fcb2cd50f4cab9a324",
"sha256:605b51b18d6e8b7baab66ca93dd6b6dd44cdc533bc71114d45cdb305c2656bb9",
"sha256:b6116133018159d7abe9345db420b6355c55950b82ac917e72934fbc6c80bde1",
"sha256:23ebc1a89bc44646822b7042b44940b4714504385ac4bfe1627bfe650e83e97d"
]
},
"Metadata": {
"LastTagTime": "0001-01-01T00:00:00Z"
}
}
]
uname -m
aarch64
I've now tried getting this to work with a lot of releases back to 9.16. That one works. This atleast verifies that the images for arm64/aarch64 does not work after that point. Strange that I am the only one experiencing it?
Anyway; the problem is not solved. I simply cannot get Home Assistant back on track without downgrading it, as it requires a newer release of zwave-js-ui. I will have a look at building an image temporarily myself in the meantime.
Just did a fresh install on a rockpi arm64 and it works:
rock@rockpi4b:~/zwave-js-ui$ arch
aarch64
rock@rockpi4b:~/zwave-js-ui$ docker compose up
[+] Running 1/0
✔ Container zwave-js-ui Created 0.0s
Attaching to zwave-js-ui
zwave-js-ui | 2024-10-16 07:01:47.030 INFO APP: Version: 9.23.0.f9c9a48
zwave-js-ui | 2024-10-16 07:01:47.066 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-10-16 07:01:47.103 WARN STORE: settings.json not found
zwave-js-ui | 2024-10-16 07:01:47.125 WARN STORE: scenes.json not found
zwave-js-ui | 2024-10-16 07:01:47.179 INFO APP: Listening on port 8091 protocol HTTP
zwave-js-ui | 2024-10-16 07:01:47.201 WARN BACKUP: Store backup is disabled
zwave-js-ui | 2024-10-16 07:01:47.204 WARN BACKUP: Nvm backup is disabled
zwave-js-ui | 2024-10-16 07:01:47.209 WARN Z-WAVE: Z-Wave driver not inited, no port configured
Using https://github.com/zwave-js/zwave-js-ui/blob/master/docker/docker-compose.yml
Wow, that is strange. I have extracted a binary (node) from two containers with different versions of zwavejs ui, and run some analysis on the files. Results below. It seems like the last one is corrupt. I've tried re-downloading images as well. I will try it on another ARM system, in case it is corruption on the mini PC. That might ofcourse be. Thank for helping out.
[
{
"Id": "de7bc010b17bbf30878f5842deb3d48bac3b99b127c6aea4dd2f1205fbb7789d",
"Created": "2024-10-18T16:31:27.846951794Z",
"Path": "node",
"Args": [
"server/bin/www"
],
"State": {
"Status": "created",
"Running": false,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 0,
"Error": "",
"StartedAt": "0001-01-01T00:00:00Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:da5c595fa697a40fa60714375ed41b83acfd3ff5cd1c5aa388bf10f2825e65c9",
"ResolvConfPath": "",
"HostnamePath": "",
"HostsPath": "",
"LogPath": "",
"Name": "/temp_container",
"RestartCount": 0,
"Driver": "vfs",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"ConsoleSize": [
62,
143
],
"CapAdd": null,
"CapDrop": null,
"CgroupnsMode": "private",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": [],
"BlkioDeviceWriteBps": [],
"BlkioDeviceReadIOps": [],
"BlkioDeviceWriteIOps": [],
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": [],
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware",
"/sys/devices/virtual/powercap"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": null,
"Name": "vfs"
},
"Mounts": [],
"Config": {
"Hostname": "de7bc010b17b",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"8091/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db",
"TAG_NAME=",
"NODE_ENV=production"
],
"Cmd": [
"node",
"server/bin/www"
],
"Image": "zwavejs/zwave-js-ui:9.16",
"Volumes": null,
"WorkingDir": "/usr/src/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "robertsLando",
"org.opencontainers.image.authors": "Daniel Lando <daniel.sorridi@gmail.com>",
"org.opencontainers.image.created": "2024-07-30T08:14:57.260Z",
"org.opencontainers.image.description": "Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify",
"org.opencontainers.image.documentation": "https://zwave-js.github.io/zwave-js-ui",
"org.opencontainers.image.licenses": "MIT",
"org.opencontainers.image.revision": "394bd028037c1a4a909660e4874197461ece0871",
"org.opencontainers.image.source": "https://github.com/zwave-js/zwave-js-ui",
"org.opencontainers.image.title": "zwave-js-ui",
"org.opencontainers.image.url": "https://github.com/zwave-js/zwave-js-ui",
"org.opencontainers.image.vendor": "zwave-js",
"org.opencontainers.image.version": "9.16.4"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "",
"SandboxKey": "",
"Ports": {},
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "",
"DriverOpts": null,
"NetworkID": "",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
}
}
}
}
]
> docker cp temp_container:/usr/bin/node ~/.
> readelf -h node
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Position-Independent Executable file)
Machine: AArch64
Version: 0x1
Entry point address: 0x6991ac
Start of program headers: 64 (bytes into file)
Start of section headers: 38630752 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 9
Size of section headers: 64 (bytes)
Number of section headers: 27
Section header string table index: 26
> ldd node
linux-vdso.so.1 (0x0000007fb1f68000)
libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000007faf9f0000)
libbrotlidec.so.1 => /lib/aarch64-linux-gnu/libbrotlidec.so.1 (0x0000007faf9d0000)
libbrotlienc.so.1 => /lib/aarch64-linux-gnu/libbrotlienc.so.1 (0x0000007faf930000)
libcares.so.2 => not found
libnghttp2.so.14 => /lib/aarch64-linux-gnu/libnghttp2.so.14 (0x0000007faf8f0000)
libcrypto.so.3 => /lib/aarch64-linux-gnu/libcrypto.so.3 (0x0000007faf500000)
libssl.so.3 => /lib/aarch64-linux-gnu/libssl.so.3 (0x0000007faf450000)
libicui18n.so.73 => not found
libicuuc.so.73 => not found
libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007faf220000)
libc.musl-aarch64.so.1 => not found
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007faf070000)
/lib/ld-musl-aarch64.so.1 => /lib/ld-linux-aarch64.so.1 (0x0000007fb1f2f000)
libbrotlicommon.so.1 => /lib/aarch64-linux-gnu/libbrotlicommon.so.1 (0x0000007faf030000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007faef90000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007faef60000)
> objdump -s --section .comment node
node: file format elf64-littleaarch64
Contents of section .comment:
0000 4743433a 2028416c 70696e65 2031322e GCC: (Alpine 12.
0010 322e315f 67697432 30323230 3932342d 2.1_git20220924-
0020 72313029 2031322e 322e3120 32303232 r10) 12.2.1 2022
0030 30393234 00 0924.
> sha1sum node
91dd4f7ee7f615205fc59361fa9e7f26a7c90b85 node
> ls -l node
-rwxr-xr-x 1 kenneth kenneth 38632480 Apr 3 2024 node
[
{
"Id": "5b331d7d47faad9c365d9454cc21fdab36421ae2c0aab7bb897568296cae2f61",
"Created": "2024-10-18T16:39:45.616635272Z",
"Path": "node",
"Args": [
"server/bin/www"
],
"State": {
"Status": "created",
"Running": false,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 0,
"Error": "",
"StartedAt": "0001-01-01T00:00:00Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:3881abce91255b9bbaef5f35d1a7f968319b7f02cce72c1981abd4cb56c1cfbd",
"ResolvConfPath": "",
"HostnamePath": "",
"HostsPath": "",
"LogPath": "",
"Name": "/temp_container",
"RestartCount": 0,
"Driver": "vfs",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"ConsoleSize": [
62,
143
],
"CapAdd": null,
"CapDrop": null,
"CgroupnsMode": "private",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": [],
"BlkioDeviceWriteBps": [],
"BlkioDeviceReadIOps": [],
"BlkioDeviceWriteIOps": [],
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": [],
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware",
"/sys/devices/virtual/powercap"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": null,
"Name": "vfs"
},
"Mounts": [],
"Config": {
"Hostname": "5b331d7d47fa",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"8091/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db",
"TAG_NAME=",
"NODE_ENV=production"
],
"Cmd": [
"node",
"server/bin/www"
],
"Image": "zwavejs/zwave-js-ui:latest",
"Volumes": null,
"WorkingDir": "/usr/src/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "robertsLando",
"org.opencontainers.image.authors": "Daniel Lando <daniel.sorridi@gmail.com>",
"org.opencontainers.image.created": "2024-10-14T15:59:26.865Z",
"org.opencontainers.image.description": "Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify",
"org.opencontainers.image.documentation": "https://zwave-js.github.io/zwave-js-ui",
"org.opencontainers.image.licenses": "MIT",
"org.opencontainers.image.revision": "f9c9a48cdd6add00d52924f5c9c369cc57ed5a99",
"org.opencontainers.image.source": "https://github.com/zwave-js/zwave-js-ui",
"org.opencontainers.image.title": "zwave-js-ui",
"org.opencontainers.image.url": "https://github.com/zwave-js/zwave-js-ui",
"org.opencontainers.image.vendor": "zwave-js",
"org.opencontainers.image.version": "9.23.0"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "",
"SandboxKey": "",
"Ports": {},
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "",
"DriverOpts": null,
"NetworkID": "",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
}
}
}
}
]
> docker cp temp_container:/usr/bin/node ~/.
> readelf -h node
readelf: Error: node: Failed to read file's magic number
> ldd node
not a dynamic executable
> objdump -s --section .comment node
objdump: section '.comment' mentioned in a -j option, but not found in any input file
> sha1sum node
da39a3ee5e6b4b0d3255bfef95601890afd80709 node
> ls -l node
-rwxr-xr-x 1 kenneth kenneth 0 Apr 3 2024 node
I spun up a similar ARM device and tried the latest image there. This proves that it's the system that is corrupt, possibly related to image layers. Strange, as there are 5 other images running fine. Sorry for the mess, and thanks again.
Unable to find image 'zwavejs/zwave-js-ui:latest' locally latest: Pulling from zwavejs/zwave-js-ui 579b34f0a95b: Pull complete 956e78ba2360: Pull complete 6a1f85327c00: Pull complete bf4c4dd92e25: Pull complete Digest: sha256:ed648be6b058c6aa74abca1868c3ac48cb82b06b22ef0ef4f7ba66dd9d331bfc Status: Downloaded newer image for zwavejs/zwave-js-ui:latest 2024-10-18 19:54:27.349 INFO STORE: Version: 9.24.0.5531846 2024-10-18 19:54:27.367 INFO STORE: Application path:/usr/src/app
| / \ \ / / | |/ ____| | | | | |
/ /____\ \ /\ / / | | (_ | | | | | |
/ /__\ \/ \/ / ' \ \ / / \ | |\ \ | | | | | |
/ / \ /\ / (_| |\ V / / | || |__) | | || || |
/___| \/ \/ _,| _/ _| _/|/ __/|___|
2024-10-18 19:54:27.380 WARN STORE: settings.json not found 2024-10-18 19:54:27.384 WARN STORE: scenes.json not found 2024-10-18 19:54:27.385 WARN STORE: nodes.json not found 2024-10-18 19:54:27.388 WARN STORE: users.json not found 2024-10-18 19:54:27.399 INFO STORE: Listening on port 8091 protocol HTTP 2024-10-18 19:54:27.500 WARN STORE: Store backup is disabled 2024-10-18 19:54:27.501 WARN STORE: Nvm backup is disabled 2024-10-18 19:54:27.504 WARN STORE: Z-Wave driver not inited, no port configured ^C2024-10-18 19:54:45.655 WARN STORE: Shutdown detected: closing clients... 2024-10-18 19:54:45.661 INFO STORE: Closing Gateway... 2024-10-18 19:54:45.663 INFO STORE: Client closed
@kenavn thanks for the feedback! Glad you found the reason behind this issue :)
Discussed in https://github.com/zwave-js/zwave-js-ui/discussions/3949