A second build in the same root fails because build.log is locked by the first
I maintainer di solito rispondono entro 5 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia da src/Fallout.Build/Logging.cs, in particolare da Logging.Configure, DeleteOldLogFiles e ConfigureFiles. Riproduci il conflitto eseguendo una build lunga e poi ./build.cmd --help dalla stessa root. Implementa il comportamento proposto di saltare il troncamento del build.log condiviso e il sink quando è bloccato; il lavoro è completato quando la seconda build si avvia e scrive nel proprio file di log con timestamp.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version: Fallout.Common 10.4.0, Windows 11, .NET SDK 10.0.112
What happens: while one build runs (for example a long-running target), starting a second build in the same root directory fails at startup with:
The process cannot access the file '<root>\.fallout\temp\build.log' because it is being used by another process.
Why: Logging.Configure calls DeleteOldLogFiles, which truncates build.log with File.OpenWrite, and ConfigureFiles opens build.log through a non-shared Serilog file sink. The first build holds that file for its whole run, so both steps fail in the second (Logging.cs). NUKE behaves the same.
Repro: start ./build.cmd SomeLongTarget, then run ./build.cmd --help in the same directory while the first is still running.
Expected: the second build runs. Each run already writes its own build.<timestamp>.log, so only the shared build.log stands in the way.
Possible fixes:
- When
build.logis in use, skip truncating it and skip thebuild.logsink, so that run logs only to its timestamped file. This is the smallest change, andbuild.logkeeps meaning "the log of the run that owns it". - Open
build.logwithshared: true, and truncate it only when nothing else holds it. Runs then interleave in one file.
Either way, the timestamped name has one-second resolution, so two runs started in the same second also collide. Adding milliseconds or the process ID would avoid that.
We would like to contribute option 1 if it's acceptable.
Current develop still contains the shared build.log truncation and non-shared sink as inspected on 12 October 2026. We found no matching existing report in the issue search. This report concerns logging; our separate bootstrap copies the build executable per invocation to avoid output-binary locks.
- Lingua principale
- C#
- Stelle
- 164
- Fork
- 19
- Merge medio
- 3g 7h
- PR unite (30g)
- 9
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un 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 Fallout-build/Fallout
-
.\build.ps1 in its current state isn't capable for :add-package commandForse già presa @ITaluone l’ha presa 32 giorni fa. Apertabug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Fallout-build/Fallout#670 ·
I maintainer di solito rispondono entro 5 giorni
-
bug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
Fallout-build/Fallout#669 · 2 commenti ·
I maintainer di solito rispondono entro 5 giorni
-
CD enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Fallout-build/Fallout#649 ·
I maintainer di solito rispondono entro 5 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Fallout-build/Fallout#630 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 5 giorni
-
enhancement target/backlog
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
Fallout-build/Fallout#609 ·
I maintainer di solito rispondono entro 5 giorni
Tutte le issue di Fallout-build/Fallout
Issue simili
-
affected/v17 affected/v18 area/frontend type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
umbraco/Umbraco-CMS#24186 ·
I maintainer di solito rispondono entro 2 giorni
-
.NET Azure Functions Docs OpenTelemetry
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
getsentry/sentry-dotnet#5715 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
AssignTargetPath does not recognize forward slashes in relative path specifiersForse già presa @AustinAviv l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 2 giorni
-
needs-area-label
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
BedrockChatClient streaming: parameterless tool call from Claude is surfaced with `Exception = "Unable to parse tool input."`Forse già presa @bhoradc l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aws/aws-dotnet-ai#91 ·
I maintainer di solito rispondono entro 1 giorno