windmill icon indicating copy to clipboard operation
windmill copied to clipboard

bug: <jemalloc>: Unsupported system page size on ARM64 system (Raspberry Pi 5)

Open StefanRichterHuber opened this issue 1 year ago • 10 comments

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

StefanRichterHuber avatar Sep 23 '24 10:09 StefanRichterHuber

have tried passing env variable DISABLE_JEMALLOC=true to docker-compose ?

yacineb avatar Sep 28 '24 11:09 yacineb

have tried passing env variable DISABLE_JEMALLOC=true to docker-compose ?

Does not work for me.

StefanRichterHuber avatar Sep 28 '24 12:09 StefanRichterHuber

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 | : Unsupported system page size qdrant | : Unsupported system page size qdrant | memory allocation of 56 bytes failed qdrant | ./entrypoint.sh: line 25: 7 Aborted (core dumped) ./qdrant $@

marceltoma avatar Oct 05 '24 13:10 marceltoma

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

marceltoma avatar Oct 05 '24 22:10 marceltoma

Hi, I'm having the same issue here

:(

but I'm using the Helm chart with Kubernetes/k3s and containerd.

ebertti avatar Oct 14 '24 21:10 ebertti

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

schwarztrinker avatar Feb 01 '25 08:02 schwarztrinker

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

rasouza avatar Mar 26 '25 13:03 rasouza

Using the Enterprise Edition for work, but would like to use this on my home gear (pi cluster)

jpinn97 avatar Oct 07 '25 23:10 jpinn97