Native stack engine: macOS runs out of shared memory segments after about 30 running stacks
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- macos, postgresql, typescript
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 2.4k
- Forks
- 537
- Merge moyen
- 17 h 22 min
- PR mergées (30 j)
- 391
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de supabase/cli
-
db schema declarative sync: no way to fail (non-zero exit) when the generated migration is destructivePeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte✨ Feature supabase/cli
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
🐛 Bug supabase/cli
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
Les mainteneurs répondent en général sous 1 jour
-
stack: every Edge Function request starts a new worker, so the same function never reuses one and each call pays a cold startPeut-être pris @7ttp l’a pris il y a 3 jours. Ouverte🐛 Bug supabase/cli
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
supabase/cli#7274 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Explicit local function bundling falls back to API bundling when Docker is unavailablePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte🐛 Bug open-for-contribution supabase/cli
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
supabase/cli#7214 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
🐛 Bug supabase/cli
Difficulté 4/5 3-5 jours Accessibilité débutants 54/100
supabase/cli#7200 · 1 commentaire · 1 réaction · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de supabase/cli
Issues similaires
-
bug triage
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Export the Hemi Earn Router address and the Router and Agent ABIs from `@vetro-protocol/earn`Ouvertehemi-earn
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
vetro-protocol/vetro-monorepo#1043 ·
Les mainteneurs répondent en général sous 1 jour
-
stage 2: bare names resolve against PATH differently from the shell (empty and relative entries)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
STRML/omp-classifier#206 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
atlassian-labs/mermaid-diagrams-viewer#188 ·
Les mainteneurs répondent en général sous 1 jour
-
dashboard enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Olanetsoft/agent-lookout#225 ·
Les mainteneurs répondent en général sous 1 jour