Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception when changing files using dotnet watch with hot reload in Aspire #44260

Closed
davidfowl opened this issue Oct 17, 2024 · 1 comment
Closed
Labels
Area-Watch Aspire untriaged Request triage from a team member
Milestone

Comments

@davidfowl
Copy link
Member

davidfowl commented Oct 17, 2024

This reproduces consistently after 3-4 edits

➜ dotnet watch
dotnet watch πŸ”₯ Hot reload enabled. For a list of supported edits, see https://aka.ms/dotnet/hot-reload.
  πŸ’‘ Press "Ctrl + R" to restart.
Using launch settings from C:\dev\git\aspire\playground\mongo\Mongo.AppHost\Properties\launchSettings.json...
Building...
info: Aspire.Hosting.DistributedApplication[0]
      Aspire version: 9.0.0-dev
info: Aspire.Hosting.DistributedApplication[0]
      Distributed application starting.
info: Aspire.Hosting.DistributedApplication[0]
      Application host directory is: C:\dev\git\aspire\playground\mongo\Mongo.AppHost
WHAT 0
WHAT 1 ae915c55cdbcbc323e6789e3acccf541
info: Aspire.Hosting.DistributedApplication[0]
      Now listening on: https://localhost:15887
dotnet watch ⌚ File added: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\33ksid54.uw1~
dotnet watch ⌚ File changed: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\Program.cs
dotnet watch ⌚ File added: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\33ksid54.uw1~
dotnet watch ⌚ File changed: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\Program.cs
dotnet watch πŸ”₯ [Mongo.AppHost (net8.0)] Hot reload succeeded.
dotnet watch ⌚ File added: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\pbhhq4ge.1u5~
dotnet watch ⌚ File changed: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\Program.cs
dotnet watch ⌚ File added: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\pbhhq4ge.1u5~
dotnet watch ⌚ File changed: C:\dev\git\aspire\playground\mongo\Mongo.ApiService\Program.cs
dotnet watch ⏳ Waiting for a file to change before restarting dotnet...
dotnet watch ❌ System.ArgumentException: Cannot find the old value (Parameter 'oldValue')
   at System.Collections.Immutable.ImmutableArray`1.Replace(T oldValue, T newValue, IEqualityComparer`1 equalityComparer)
   at System.Collections.Immutable.ImmutableArray`1.Replace(T oldValue, T newValue)
   at Microsoft.CodeAnalysis.GeneratorDriver.ReplaceAdditionalText(AdditionalText oldText, AdditionalText newText)
   at Microsoft.CodeAnalysis.SolutionCompilationState.TranslationAction.TouchAdditionalDocumentsAction.TransformGeneratorDriver(GeneratorDriver generatorDriver)
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__ApplyFirstTransformationAsync|6>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__CollapseInProgressStateAsync|2>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__BuildFinalStateAsync|0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetOrBuildFinalStateAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetCompilationSlowAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.SolutionCompilationState.GetMetadataReferenceAsync(ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, Boolean includeCrossLanguage, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationWorkerAsync|4>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationAsync|3>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__BuildFinalStateAsync|0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetOrBuildFinalStateAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetCompilationSlowAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.SolutionCompilationState.GetMetadataReferenceAsync(ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, Boolean includeCrossLanguage, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationWorkerAsync|4>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationAsync|3>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass24_0.<<GetOrBuildFinalStateAsync>g__BuildFinalStateAsync|0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetOrBuildFinalStateAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetSourceGeneratorDiagnosticsAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.EditAndContinue.EditSession.GetSourceGeneratedDocumentStatesAsync(Project project, ArrayBuilder`1 diagnostics, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.EditAndContinue.EditSession.PopulateChangedAndAddedDocumentsAsync(Project oldProject, Project newProject, ArrayBuilder`1 changedOrAddedDocuments, ArrayBuilder`1 diagnostics, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.EditAndContinue.EditSession.EmitSolutionUpdateAsync(Solution solution, ActiveStatementSpanProvider solutionActiveStatementSpanProvider, UpdateId updateId, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.EditAndContinue.DebuggingSession.EmitSolutionUpdateAsync(Solution solution, ActiveStatementSpanProvider activeStatementSpanProvider, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.ExternalAccess.Watch.Api.WatchHotReloadService.GetUpdatesAsync(Solution solution, Func`2 isRunningProject, CancellationToken cancellationToken)
   at Microsoft.DotNet.Watcher.Tools.CompilationHandler.HandleFileChangesAsync(Func`3 restartPrompt, CancellationToken cancellationToken)
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(CancellationToken shutdownCancellationToken)
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(CancellationToken shutdownCancellationToken)
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(CancellationToken shutdownCancellationToken)
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(CancellationToken shutdownCancellationToken)
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(CancellationToken shutdownCancellationToken)
   at Microsoft.DotNet.Watcher.Program.RunAsync()
dotnet watch ❌ An unexpected error occurred
@davidfowl
Copy link
Member Author

Dupe of #44317

@davidfowl davidfowl closed this as not planned Won't fix, can't repro, duplicate, stale Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Watch Aspire untriaged Request triage from a team member
Projects
None yet
Development

No branches or pull requests

1 participant