Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Native stack engine: macOS runs out of shared memory segments after about 30 running stacks

Đang mở
#7,269 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Lĩnh vực
cli, databases

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ả

🐛 Bug supabase/cli

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

  1. On macOS, set [experimental] stack = true in supabase/config.toml.
  2. Run supabase start --runtime native in about 30 worktrees or branches without stopping them.
  3. Run supabase start --runtime native in 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 to supabase stack list and supabase 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, matches branch_context against git branch --merged main for the repo and its worktrees, and calls supabase 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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của supabase/cli

Tất cả issue của supabase/cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.