2

I am trying to run Envoy on RP4 and 64bit Raspberry Pi OS.

Envoy 1.20 crashes with:

external/com_github_google_tcmalloc/tcmalloc/system-alloc.cc:550] MmapAligned() failed (size, alignment) 1073741824 1073741824 @ 0x559342edc4 0x55934211a4 0x5593420be4 0x559340a4c0
external/com_github_google_tcmalloc/tcmalloc/arena.cc:34] FATAL ERROR: Out of memory trying to allocate internal tcmalloc data (bytes, object-size) 131072 48 @ 0x559342f0d4 0x559340a534

Envoy 1.23 crashes with

external/com_github_google_tcmalloc/tcmalloc/system-alloc.cc:631] MmapAligned() failed - unable to allocate with tag (hint, size, alignment) - is something limiting address placement? 0x151880000000 1073741824 1073741824 @ 0x55941cfa88 0x55941cb6a0 0x55941caf48 0x55941b2f4c 0x55941c8010 0x55941c7e2c 0x55941a78a8 0x55940e6c00 0x55940e2298 0x559406f484 0x559419dbd0 0x7f834774ac
external/com_github_google_tcmalloc/tcmalloc/arena.cc:58] FATAL ERROR: Out of memory trying to allocate internal tcmalloc data (bytes, object-size); is something preventing mmap from succeeding (sandbox, VSS limitations)? 131072 600 @ 0x55941cfde4 0x55941b2fdc 0x55941c8010 0x55941c7e2c 0x55941a78a8 0x55940e6c00 0x55940e2298 0x559406f484 0x559419dbd0 0x7f834774ac

Tested also on envoy 1.17, 1.18, 1.19, and 1.22 (it seems that arm64 is supported only starting from 1.17). Same behaviour.

How to reproduce:

In Docker:

docker run --rm envoyproxy/envoy:v1.24-latest

On a host machine:

envoy_location=$(podman run --rm --entrypoint which docker.io/envoyproxy/envoy:v1.23-latest envoy)
container_id=$(podman create which docker.io/envoyproxy/envoy:v1.23-latest)
podman cp "${container_id}":"${envoy_location}" ./envoy
podman rm -v "${container_id}"
./envoy

If you are using Docker then replace podman with docker (also you may use envoyproxy/envoy as a repository name).

I am using RP4 8GB.

Mitch Sitin
  • 1,987
  • 2
  • 12
  • 8
  • The same occurs with v1.24.0. `envoy@dc2470c4f934:/$ /usr/local/bin/envoy external/com_github_google_tcmalloc/tcmalloc/system-alloc.cc:614] MmapAligned() failed - unable to allocate with tag (hint, size, alignment) - is something limiting address placement? 0x46a180000000 1073741824 1073741824 @ 0x556b2908fc ... external/com_github_google_tcmalloc/tcmalloc/arena.cc:58] FATAL ERROR: Out of memory trying to allocate internal tcmalloc data (bytes, object-size); is something preventing mmap from succeeding (sandbox, VSS limitations)? 131072 600 @ 0x556b290c5c` – tomaszmi Nov 21 '22 at 15:34
  • Have you found a solution for that problem already? – tomaszmi Nov 21 '22 at 15:39

1 Answers1

1

The issue for me was the kernel options on the raspberry pi os are incompatible with envoy. Some possible solutions are to compile a new envoy binary disabling tcmalloc or use a prebuilt container (referenced in the original answer for example "thegrandpkizzle/envoy:1.24.0")

ir0h
  • 311
  • 5
  • 9