dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.7k stars 1.06k forks source link

dotnet workload update fails with a `JsonReaderException` #18339

Closed meziantou closed 3 years ago

meziantou commented 3 years ago

I installed the blazor-aot workload using .NET 6 preview 4. After installing the preview 5, I ran dotnet workload update. This command fails with a JsonReaderException

PS C:\Users\mezia> dotnet workload list
Workload Id
---------------------------------------
microsoft-net-sdk-blazorwebassembly-aot
PS C:\Users\mezia> dotnet workload update

Updated advertising manifest microsoft.net.sdk.android.
Updated advertising manifest microsoft.net.sdk.ios.
Updated advertising manifest microsoft.net.sdk.maccatalyst.
Updated advertising manifest microsoft.net.sdk.macos.
Updated advertising manifest microsoft.net.sdk.tvos.
Updated advertising manifest microsoft.net.workload.mono.toolchain.
Installing pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.5.21301.5...
Pack Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.5.21301.5 is already installed.
Writing workload pack installation record for Microsoft.NETCore.App.Runtime.Mono.browser-wasm version 6.0.0-preview.5.21301.5...
Installing pack Microsoft.NET.Runtime.MonoAOTCompiler.Task version 6.0.0-preview.5.21301.5...
Pack Microsoft.NET.Runtime.MonoAOTCompiler.Task version 6.0.0-preview.5.21301.5 is already installed.
Writing workload pack installation record for Microsoft.NET.Runtime.MonoAOTCompiler.Task version 6.0.0-preview.5.21301.5...
Installing pack Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.5.21301.5...
Pack Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.5.21301.5 is already installed.
Writing workload pack installation record for Microsoft.NET.Runtime.WebAssembly.Sdk version 6.0.0-preview.5.21301.5...
Installing pack Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm version 6.0.0-preview.5.21301.5...
Pack Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm version 6.0.0-preview.5.21301.5 is already installed.
Writing workload pack installation record for Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm version 6.0.0-preview.5.21301.5...
Installing pack Microsoft.NET.Runtime.Emscripten.Node version 6.0.0-preview.5.21281.1...
Pack Microsoft.NET.Runtime.Emscripten.Node version 6.0.0-preview.5.21281.1 is already installed.
Writing workload pack installation record for Microsoft.NET.Runtime.Emscripten.Node version 6.0.0-preview.5.21281.1...
Installing pack Microsoft.NET.Runtime.Emscripten.Python version 6.0.0-preview.5.21281.1...
Pack Microsoft.NET.Runtime.Emscripten.Python version 6.0.0-preview.5.21281.1 is already installed.
Writing workload pack installation record for Microsoft.NET.Runtime.Emscripten.Python version 6.0.0-preview.5.21281.1...
Installing pack Microsoft.NET.Runtime.Emscripten.Sdk version 6.0.0-preview.5.21281.1...
Pack Microsoft.NET.Runtime.Emscripten.Sdk version 6.0.0-preview.5.21281.1 is already installed.
Writing workload pack installation record for Microsoft.NET.Runtime.Emscripten.Sdk version 6.0.0-preview.5.21281.1...
Garbage collecting for SDK feature bands 6.0.100...
System.Text.Json.JsonException: The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
 ---> System.Text.Json.JsonReaderException: The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. LineNumber: 0 | BytePositionInLine: 0.
   at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes) in System.Text.Json.dll:token 0x60000da+0x0
   at System.Text.Json.Utf8JsonReader.Read() in System.Text.Json.dll:token 0x600028e+0x2a
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) in System.Text.Json.dll:token 0x6000746+0x8
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex) in System.Text.Json.dll:token 0x6000114+0x8d
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) in System.Text.Json.dll:token 0x6000746+0x10c
   at System.Text.Json.Serialization.JsonConverter`1.ReadCoreAsObject(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) in System.Text.Json.dll:token 0x6000745+0x0
   at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonConverter jsonConverter, Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) in System.Text.Json.dll:token 0x600033b+0x14
   at System.Text.Json.JsonSerializer.ReadUsingMetadata[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo jsonTypeInfo, Nullable`1 actualByteCount) in System.Text.Json.dll:token 0x600033c+0x26
   at System.Text.Json.JsonSerializer.ReadUsingMetadata[TValue](ReadOnlySpan`1 json, JsonTypeInfo jsonTypeInfo) in System.Text.Json.dll:token 0x6000356+0x4c
   at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options) in System.Text.Json.dll:token 0x600034f+0x22
   at Microsoft.DotNet.Workloads.Workload.Install.NetSdkManagedInstaller.GarbageCollectInstalledWorkloadPacks() in dotnet.dll:token 0x60001b5+0x16f
   at Microsoft.DotNet.Workloads.Workload.Update.WorkloadUpdateCommand.UpdateWorkloads(Boolean includePreviews) in dotnet.dll:token 0x6000156+0xb1
   at Microsoft.DotNet.Workloads.Workload.Update.WorkloadUpdateCommand.Execute() in dotnet.dll:token 0x6000154+0x131
   at Microsoft.DotNet.Cli.DotNetTopLevelCommandBase.RunCommand(String[] args) in dotnet.dll:token 0x60008ca+0x5e
   at Microsoft.DotNet.Workloads.Workload.WorkloadCommand.Run(String[] args) in dotnet.dll:token 0x6000146+0x6
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient) in dotnet.dll:token 0x6000933+0x2e8
   at Microsoft.DotNet.Cli.Program.Main(String[] args) in dotnet.dll:token 0x6000931+0x6f
PS C:\Users\mezia> dotnet --info
.NET SDK (reflecting any global.json):
 Version:   6.0.100-preview.5.21302.13
 Commit:    d6380bcae7

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19043
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\

Host (useful for support):
  Version: 6.0.0-preview.5.21301.5
  Commit:  ec3e0b276b

.NET SDKs installed:
  3.1.410 [C:\Program Files\dotnet\sdk]
  5.0.104 [C:\Program Files\dotnet\sdk]
  5.0.204 [C:\Program Files\dotnet\sdk]
  5.0.301 [C:\Program Files\dotnet\sdk]
  5.0.400-preview.21277.10 [C:\Program Files\dotnet\sdk]
  6.0.100-preview.5.21302.13 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.28 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.28 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.16 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.0-preview.5.21301.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.27 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.28 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.16 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.0-preview.5.21301.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.15 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.16 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.0-preview.5.21301.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download
dotnet-issue-labeler[bot] commented 3 years ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

rajeshaz09 commented 3 years ago

I believe Json structure changed. from p4 to p5. I also faced same issue. Delete C:\Program Files\dotnet\metadata\workloads folder and install once again.

meziantou commented 3 years ago

You may be right. I've deleted the folder, run install and update => no error :)

sfoslund commented 3 years ago

@rajeshaz09 is correct, this is a known compat issue between prev 4 and 5. Closing as won't fix, since this won't be an issue with GA.