Native stack engine: macOS runs out of shared memory segments after about 30 running stacks
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- macos, postgresql, typescript
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.4k
- Fork
- 537
- Merge trung bình
- 17 giờ 22 phút
- Pull request đã merge (30 ngày)
- 391
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của supabase/cli
-
db schema declarative sync: no way to fail (non-zero exit) when the generated migration is destructiveCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở✨ Feature supabase/cli
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
🐛 Bug supabase/cli
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 1 ngày
-
stack: every Edge Function request starts a new worker, so the same function never reuses one and each call pays a cold startCó thể đã có người làm @7ttp đã nhận 3 ngày trước. Đang mở🐛 Bug supabase/cli
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
supabase/cli#7274 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Explicit local function bundling falls back to API bundling when Docker is unavailableCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở🐛 Bug open-for-contribution supabase/cli
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
supabase/cli#7214 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
🐛 Bug supabase/cli
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 54/100
supabase/cli#7200 · 1 bình luận · 1 reaction · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
awslabs/visual-asset-management-system#937 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
t0ggles
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
nolimits4web/swiper#8255 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 15 ngày
-
render: --variables-file (and --variables <path>) fails with "io.readFile is not a function" since 0.8.212Có thể đã có người làm @miguel-heygen đã nhận hôm nay. Đang mởbug triage/needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
heygen-com/hyperframes#6830 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug launch local use
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
account: profile bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 5 ngày