Windows sandbox: first permission propagation in a large project can exceed other helpers' 60 s lock timeout
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
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Start with the Windows permission and lock code in win.rs: inspect ensure_project_grant (lines 867-885), revoke_project (887-907), and PermissionLock::acquire (1149-1165), along with the measurements from #103. Determine how to avoid helpers timing out during propagation while preserving crash safety; done when the large-project scenario no longer causes lock-acquisition failures and the error message explains ongoing propagation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found in the 2026-10-07 code review (inferred from #103's measurements and the lock scopes; not reproduced).
Problem
ensure_project_grant (win.rs:867-885) spreads FILE_MODIFY across the whole project tree while holding the global Local\PatchSandboxPermissions mutex. PermissionLock::acquire (win.rs:1149-1165) waits only 60 s. Every helper start also takes that lock (recover_abandoned_runs), and so does revoke_project (win.rs:887-907). #103 measured 23.4 s per 100,000 files, so a project of roughly 260,000 files or more exceeds the timeout.
Scenario
- The agent starts
npm run devin the background in a large monorepo. - The tool returns after 3 s while the helper is still propagating.
- The agent's next
run_commandfails after a minute with "cannot acquire sandbox permission lock". - Closing the project during propagation makes all 5 revoke attempts fail, so the grant is kept.
Fix
Hold a per-project lock (a named mutex derived from the capability name) during propagation instead of the global one; the marker file already handles crash safety. Or wait without a limit while the lock holder is alive (WAIT_ABANDONED covers its death). Make the error message say that propagation is in progress.
- Lingua principale
- TypeScript
- Stelle
- 2
- Fork
- 2
- Merge medio
- 5h 28m
- PR unite (30g)
- 24
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 PierrunoYT/patch
-
enhancement platform: windows priority: low severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PierrunoYT/patch#198 ·
I maintainer di solito rispondono entro 1 giorno
-
priority: medium security severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
PierrunoYT/patch#66 ·
I maintainer di solito rispondono entro 1 giorno
-
bug platform: macos priority: low severity: low tests
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
PierrunoYT/patch#218 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement priority: low security severity: low
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
PierrunoYT/patch#211 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement platform: windows priority: low security severity: low
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
PierrunoYT/patch#207 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di PierrunoYT/patch
Issue simili
-
[Bug]: Server git tests sign fixture commits with the developer's key when run from the repo rootAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
melgarafael/DeskcommCRM#2657 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
MystenLabs/MemWal#1163 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Mondriaan
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
knaw-huc/textannoviz#709 ·
I maintainer di solito rispondono entro 1 giorno
-
billion-context-pi
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ranxianglei/billion-context#2521 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno