Native stack engine: macOS runs out of shared memory segments after about 30 running stacks
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- macos, postgresql, typescript
Direzione di ricerca
Start by tracing the native stack startup path and how it handles Postgres startup failures, especially shmget errors; the issue does not name the relevant files or tests. The report describes three possible improvements: make the error actionable, stop idle Postgres instances, or clean up stacks for removed branches. Clarify which behavior is intended and how it should be verified before implementation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
On macOS, the native stack engine runs out of System V shared memory segments once about 30 stacks are running, and supabase start then fails for every new checkout or branch.
What happens
The stack engine keeps one stack per checkout and branch, and a stack keeps running after its shell exits. Each running stack's Postgres creates a System V shared memory segment. macOS allows 32 segments on the whole machine by default (sysctl kern.sysv.shmmni prints 32), so with git worktrees and short-lived branches the limit is reached in a few days. ipcs -m shows the segments in use; on my machine 31 of 32 were taken before I stopped two stacks.
Steps to reproduce
- On macOS, set
[experimental] stack = trueinsupabase/config.toml. - Run
supabase start --runtime nativein about 30 worktrees or branches without stopping them. - Run
supabase start --runtime nativein one more.
The last start fails because Postgres can't create its segment. supabase stack list shows the other stacks as reachable.
Environment
- Supabase CLI 2.121.0, native runtime
- macOS 26 (Darwin 25.6), Apple silicon
kern.sysv.shmmni: 32
Suggestions
- Name the cause when Postgres fails on
shmget, and point tosupabase stack listandsupabase stop --stack-id. - Stop the Postgres of a stack that has been idle for a while, the way the other services already stop when idle.
- Offer a command that stops the stacks of branches that no longer exist or were merged. We use a small script for this today: it reads
supabase stack list --output-format json, matchesbranch_contextagainstgit branch --merged mainfor the repo and its worktrees, and callssupabase stop --stack-id.
- Lingua principale
- TypeScript
- Stelle
- 2.4k
- Fork
- 540
- Merge medio
- 17h 29m
- PR unite (30g)
- 387
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di supabase/cli
-
db schema declarative sync: no way to fail (non-zero exit) when the generated migration is destructiveForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta✨ Feature supabase/cli
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
`supabase start` waits about 10 seconds for Docker's first health check after services are readyAperta🐛 Bug supabase/cli
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
🐛 Bug supabase/cli
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
I maintainer di solito rispondono entro 1 giorno
-
stack: every Edge Function request starts a new worker, so the same function never reuses one and each call pays a cold startForse già presa @7ttp l’ha presa 4 giorni fa. Aperta🐛 Bug supabase/cli
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
supabase/cli#7274 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Explicit local function bundling falls back to API bundling when Docker is unavailableForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta🐛 Bug open-for-contribution supabase/cli
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
supabase/cli#7214 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di supabase/cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Northeastern-Electric-Racing/FinishLine#4660 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
excaliburjs/Excalibur#3895 ·
I maintainer di solito rispondono entro 3 giorni
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejectedForse già presa @Steve-20-ai l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Earn report crashes with "RangeError: Invalid time value" when a report row has an unparsable timestampForse già presa @Gurkaran18 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
joinmarket-webui/jam#1588 ·
I maintainer di solito rispondono entro 3 giorni
-
BeOS .json missingAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
mihaip/infinite-mac#475 ·