bug: <jemalloc>: Unsupported system page size on ARM64 system (Raspberry Pi 5)
Describe the bug
Booting Windmill on Raspberry Pi 5 using the provided docker-compose file results in memory allocation errors:
With WM_IMAGE=ghcr.io/windmill-labs/windmill:main
windmill_worker-1 | <jemalloc>: Unsupported system page size
windmill_server-1 | <jemalloc>: Unsupported system page size
windmill_server-1 | <jemalloc>: Unsupported system page size
windmill_worker-1 | <jemalloc>: Unsupported system page size
windmill_server-1 | memory allocation of 56 bytes failed
windmill_worker-1 | memory allocation of 56 bytes failed
windmill_worker-3 | <jemalloc>: Unsupported system page size
windmill_worker-3 | <jemalloc>: Unsupported system page size
windmill_worker-3 | memory allocation of 56 bytes failed
windmill_server-1 exited with code 0
windmill_worker-1 exited with code 0
windmill_worker-2 | <jemalloc>: Unsupported system page size
windmill_worker-2 | <jemalloc>: Unsupported system page size
windmill_worker-2 | memory allocation of 56 bytes failed
windmill_server-1 | <jemalloc>: Unsupported system page size
windmill_server-1 | <jemalloc>: Unsupported system page size
windmill_server-1 | memory allocation of 56 bytes failed
windmill_worker-3 exited with code 133
windmill_worker-2 exited with code 133
This might be a similar issue: https://github.com/qdrant/qdrant/issues/2474
To reproduce
Use provided provided docker-compose.yml and further files on a Raspberry Pi 5
Expected behavior
Application should boot properly
Screenshots
No response
Browser information
No response
Application version
No response
Additional Context
No response
have tried passing env variable DISABLE_JEMALLOC=true to docker-compose ?
have tried passing env variable DISABLE_JEMALLOC=true to docker-compose ?
Does not work for me.
I also tried to add that env variable and it didn't work
qdrant: image: qdrant/qdrant environment: - DISABLE_JEMALLOC=true container_name: qdrant networks: ['demo'] restart: unless-stopped ports: - 6333:6333 volumes: - qdrant_storage:/qdrant/storage
I still see this
qdrant |
I was able to solve the issue by using another image
qdrant: image: qdrant-arm64 container_name: qdrant networks: ['demo'] restart: unless-stopped ports: - 6333:6333 volumes: - qdrant_storage:/qdrant/storage
Hi, I'm having the same issue here
:(
but I'm using the Helm chart with Kubernetes/k3s and containerd.
I saw in another thread related to this issue a suggestion from others to add this line to the bottom of the Raspbian /boot/config.txt file for Raspberry Pi 5 (I am currently running the latest kernel on Raspbian Bullseye)
When I opened /boot/config.txt, I found this message:
DO NOT EDIT THIS FILE
The file you are looking for has moved to /boot/firmware/config.txt
That was enough to make me pause, so I followed the instructions and instead added the following line at the bottom of /boot/firmware/config.txt:
kernel=kernel8.img
Upon adding the line, a reboot was required and the issue was resolved.
For more information on what the flag does -
According to the Raspberry Pi documentation,
The Raspberry Pi 5 firmware defaults to loading kernel_2712.img because this image contains optimisations specific to Raspberry Pi 5 (e.g. 16K page-size). If this file is not present, then the common 64-bit kernel (kernel8.img) will be loaded instead
For more details, see the official Raspberry Pi documentation: Kernel configuration in Raspbian
Admittedly, this is seemingly more of a workaround than a proper fix, which would presumably involve modifications to the build, but nonetheless, I hope it helps someone else.
Same for me on Oracle Linux v8 (on the always free ARM tier).
I'm trying to run this on a Raspberry Pi 5 and I'm getting the same error. Was anybody able to solve this? I would like to avoid the /boot/firmware/config.txt solution
Using the Enterprise Edition for work, but would like to use this on my home gear (pi cluster)