supabase start: vector container segfaults on native arm64 (Apple Silicon), execve EFAULT loading vector:0.53.0-alpine
@7ttp is already working on this.
Since Sep 9, 2026.
Assessment
This issue has not been assessed yet.
Description
Affected area
Local development / Docker
Supabase CLI version
v2.116.0 (also reproduces on v2.75.0)
Operating system
macOS 26 (Darwin 25.6.0), Apple Silicon (arm64). Docker Desktop 4.57.0.
Installation method
brew
Command
supabase start
Actual output
Starting containers...
Waiting for health checks...
supabase_vector_<project> container logs:
Segmentation fault
Segmentation fault
Segmentation fault
[repeats]
Stopping containers...
{"_tag":"Error","error":{"code":"LegacyHealthCheckTimeoutError","message":"supabase_vector_<project> container is not ready: unhealthy"}}
Expected behavior
The vector (analytics/log) container starts and passes its health check like the rest of the stack.
Steps to reproduce
- On an Apple Silicon Mac with Docker Desktop 4.57.0 (macOS 26 / Darwin 25.6.0), run
supabase init(or use any project with[analytics] enabled = trueinsupabase/config.toml, the default). - Run
supabase start. - The
supabase_vector_*container logs repeatedSegmentation faultand never becomes healthy;supabase startfails withLegacyHealthCheckTimeoutError.
Minimal repro without the CLI, isolating the exact image the CLI hardcodes (vector:0.53.0-alpine):
docker run --rm --platform linux/arm64 --entrypoint vector public.ecr.aws/supabase/vector:0.53.0-alpine --version
# exit code 139 (SIGSEGV), no output
strace shows the process never actually starts running vector's code — the crash happens inside the kernel's own binary loader:
$ docker run --rm --platform linux/arm64 --entrypoint sh public.ecr.aws/supabase/vector:0.53.0-alpine \
-c "apk add --no-cache strace >/dev/null 2>&1; strace vector --version"
execve("/usr/local/bin/vector", ["vector", "--version"], 0xffffcb3b0258 /* 5 vars */) = -1 EFAULT (Bad address)
+++ killed by SIGSEGV +++
Segmentation fault
Isolation that points at this specific image/tag rather than the host or Docker Desktop in general:
- The same image tag run under
--platform linux/amd64(Rosetta emulation) works fine:docker run --rm --platform linux/amd64 --entrypoint vector public.ecr.aws/supabase/vector:0.53.0-alpine --version vector 0.53.0 (x86_64-unknown-linux-musl 2b51b40 2026-01-27 21:46:39.386326724) - The older pinned image,
public.ecr.aws/supabase/vector:0.28.1-alpine, runs fine natively on arm64 on the same host:docker run --rm --platform linux/arm64 --entrypoint vector public.ecr.aws/supabase/vector:0.28.1-alpine --version vector 0.28.1 (aarch64-unknown-linux-musl ff15924 2023-03-06) - Not a resource constraint: Docker Desktop VM has 188G free disk and 7.1G free RAM; passing
--memory=2gexplicitly makes no difference.
So the arm64 build inside public.ecr.aws/supabase/vector:0.53.0-alpine specifically appears to be a broken/malformed binary for this loader — every other build (older arm64 tag, same tag's amd64 build) loads and runs correctly.
There is currently no way to work around this from CLI/config: supabase/config.toml has no field to override the vector image or tag, and the tag is hardcoded in the CLI binary (only SUPABASE_INTERNAL_IMAGE_REGISTRY exists, which swaps the registry host, not the tag). No newer tag (e.g. 0.53.1-alpine, 0.54.0-alpine) is published yet.
Docker and service versions
$ docker version
Client: 29.1.3 (darwin/arm64)
Server: Docker Desktop 4.57.0 (Engine 29.1.3, containerd v2.2.1, runc 1.3.4), linux/arm64
Kernel Version: 6.12.54-linuxkit
$ supabase services
supabase/postgres 17.6.1.165
supabase/gotrue v2.196.0
postgrest/postgrest v16.1
supabase/realtime v2.129.3
supabase/storage-api v1.70.3
supabase/edge-runtime v1.74.3
supabase/studio 2026.08.17-sha-0c1da8f
supabase/postgres-meta v0.98.0
supabase/logflare 1.50.4
supabase/supavisor 2.9.7
Additional context
Workaround for anyone hitting this: run supabase start (or any pnpm/npm wrapper around it) with DOCKER_DEFAULT_PLATFORM=linux/amd64 set, which forces all local containers (including vector) to run under the emulated x86_64 build instead of the broken native arm64 one. Slower, but functional until this is fixed.
- Dominant language
- TypeScript
- Stars
- 2.4k
- Forks
- 523
- Avg merge
- 21h 21m
- Merged PRs (30d)
- 253
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from supabase/cli
-
🐛 Bug supabase/cli
Difficulty 4/5 3-5 days Newbie friendliness 58/100
-
🐛 Bug supabase/cli
-
🐛 Bug supabase/cli
-
🐛 Bug supabase/cli
-
🐛 Bug supabase/cli
Similar issues
-
Browser Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
getsentry/sentry-javascript#24577 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
agilepathway/label-checker#640 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
copse-dev/agent-pane#2953 ·
-
agentic-workflows
Difficulty 1/5 Under an hour Newbie friendliness 85/100
githubnext/rig#534 ·
-
automation missing-model model-sync provider:pioneer
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
anomalyco/models.dev#7701 ·