[Bug]: Cannot install services when /Users/Shared/Herd is owned by another user (Shared Users Folder permissions issue)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia riproducendo il flusso di installazione per due utenti su /Users/Shared/Herd, quindi esamina il file herd-crashreport.txt collegato e i percorsi di installazione di MySQL e MariaDB. Il lavoro è completato quando l’installer riesce per il secondo utente oppure si interrompe con un errore di autorizzazioni visibile e risolvibile, senza arrestarsi in modo anomalo né rimanere in esecuzione indefinitamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Platform
macOS
Operating system version
macOS Sequoia 15.7.3 (24G419)
System architecture
ARM64 (M1, M2, etc)
Herd Version
1.25
PHP Version
8.4
Bug description
Summary
On macOS with multiple local admin users, Herd cannot install database services (MySQL/MariaDB) if a different user previously installed Herd or a service first. The installer appears to write into a shared directory without validating write permissions/ownership up front, leading to either a crash (MariaDB) or an indefinite “spinning” install state (MySQL) with no activity.
Affected Versions
Reproduced across multiple Herd versions: 1.15 → 1.25.
Environment
• macOS
• Multiple local user accounts (both Admin)
Description / Impact
When the shared Herd directory is owned by another user (e.g., created by a prior user profile), Herd fails to install services for the current user. This blocks core functionality (installing database services) and presents as either a fatal error/crash or a stalled installation with no progress, which is difficult for users to diagnose.
Workaround
Delete the shared Herd directory and retry installation:
• Remove: /Users/Shared/Herd
• Re-run Herd and attempt the service install again.
Root Cause (Likely)
Herd installs/extracts services into a shared folder (/Users/Shared/Herd) but does not validate that the current user has write permissions (or that ownership/ACLs are correct) before attempting to write/extract.
Recommendation / Fix Proposal
1. Preflight permission checks: Before downloading/extracting services, verify write access to the target directory. If not writable, fail fast with a clear error, such as:
• “Herd cannot write to /Users/Shared/Herd because it is owned by another user. Please delete it or fix permissions.”
2. Improve error handling:
• Prevent crashes (MariaDB path) and prevent infinite spinners (MySQL path).
• Surface a visible failure state with actionable guidance.
3. Consider changing install location: If feasible, install services into the current user’s profile (e.g., ~/Library/Application Support/Herd/...) to avoid cross-user ownership issues entirely. If a shared folder is required, ensure Herd sets the correct ownership/ACLs during setup and handles multi-user scenarios explicitly.
Steps to reproduce
1. Create (or use) User A (Admin) and User B (Admin) on the same Mac.
2. Log in as User A.
3. Install Herd.
4. Install a database service (e.g., MySQL or MariaDB) through Herd.
5. Uninstall that service through Herd (optional, but reproduces either way consistently).
6. Log out and switch to User B.
7. Open Herd and attempt to install a database service.
Expected Result
Herd successfully installs the selected service, or it fails fast with a clear, actionable error message if permissions prevent installation.
Actual Result
• MariaDB: Herd encounters a fatal error and crashes during install.
• MySQL: Herd downloads and starts extraction, then becomes stuck “spinning” indefinitely with no CPU or disk activity.
Relevant log output
[herd-crashreport.txt](https://github.com/user-attachments/files/24847778/herd-crashreport.txt)
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 123
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 beyondcode/herd-community
-
[Bug]: PHP 8.3 php.ini missing auto_prepend_file and herd-ext extension lines (dump() undefined)ApertamacOS
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
beyondcode/herd-community#1693 ·
-
macOS
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
beyondcode/herd-community#1602 ·
-
[Bug]: 1.30.2 creates PHP 8.2 config and ~/.zshrc lines on every start, although 8.2 isn't installedApertafixed-in-next-release macOS
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
beyondcode/herd-community#1763 · 2 commenti ·
-
fixed-in-next-release macOS
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
beyondcode/herd-community#1760 ·
-
macOS
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
beyondcode/herd-community#1755 ·
Tutte le issue di beyondcode/herd-community
Issue simili
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openclaw/openclaw#168089 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
dotnet/SqlClient#4823 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
area:core area:runtime type:security
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openimsdk/openim-sdk-core#1127 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
transact-rs/sqlx#4453 ·
I maintainer di solito rispondono entro 2 giorni