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

Random occurences of MSB4018 / IOException #4233

Open espenrl opened 4 years ago

espenrl commented 4 years ago

Setup: build servers running builds in Docker

dotnet restore flags --runtime alpine-x64 dotnet build flags --runtime alpine-x64 --no-restore --configuration Release

GenerateDepsFile - '/app/Service/bin/Release/Service.deps.json'

2020-01-23T17:55:15.8360853Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [/app/Service/Service.csproj]
2020-01-23T17:55:15.8362683Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018: System.IO.IOException: The process cannot access the file '/app/Service/bin/Release/Service.deps.json' because it is being used by another process. [/app/Service/Service.csproj]
2020-01-23T17:55:15.8363381Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at System.IO.FileStream.Init(FileMode mode, FileShare share, String originalPath) [/app/Service/Service.csproj]
2020-01-23T17:55:15.8363979Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) [/app/Service/Service.csproj]
2020-01-23T17:55:15.8364519Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) [/app/Service/Service.csproj]
2020-01-23T17:55:15.8365068Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at System.IO.File.Create(String path) [/app/Service/Service.csproj]
2020-01-23T17:55:15.8365674Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at Microsoft.NET.Build.Tasks.GenerateDepsFile.WriteDepsFile(String depsFilePath) [/app/Service/Service.csproj]
2020-01-23T17:55:15.8366651Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at Microsoft.NET.Build.Tasks.GenerateDepsFile.ExecuteCore() [/app/Service/Service.csproj]
2020-01-23T17:55:15.8367337Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() [/app/Service/Service.csproj]
2020-01-23T17:55:15.8367841Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/app/Service/Service.csproj]
2020-01-23T17:55:15.8368340Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(192,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/app/Service/Service.csproj]

CreateAppHost - '/app/Web/obj/Release/Web' (this is a folder)

2020-01-23T18:53:47.7418521Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018: The "CreateAppHost" task failed unexpectedly. [/app/Web/Web.csproj]
2020-01-23T18:53:47.7421003Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018: System.IO.IOException: The process cannot access the file '/app/Web/obj/Release/Web' because it is being used by another process. [/app/Web/Web.csproj]
2020-01-23T18:53:47.7754482Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at System.IO.FileStream.Init(FileMode mode, FileShare share, String originalPath) [/app/Web/Web.csproj]
2020-01-23T18:53:47.7755037Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) [/app/Web/Web.csproj]
2020-01-23T18:53:47.7755421Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at System.IO.FileSystem.CopyFile(String sourceFullPath, String destFullPath, Boolean overwrite) [/app/Web/Web.csproj]
2020-01-23T18:53:47.7755907Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at Microsoft.NET.HostModel.AppHost.BinaryUtils.CopyFile(String sourcePath, String destinationPath) [/app/Web/Web.csproj]
2020-01-23T18:53:47.7756273Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at Microsoft.NET.HostModel.AppHost.HostWriter.CreateAppHost(String appHostSourceFilePath, String appHostDestinationFilePath, String appBinaryFilePath, Boolean windowsGraphicalUserInterface, String assemblyToCopyResorcesFrom) [/app/Web/Web.csproj]
2020-01-23T18:53:47.7756725Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at Microsoft.NET.Build.Tasks.CreateAppHost.ExecuteCore() [/app/Web/Web.csproj]
2020-01-23T18:53:47.7757107Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() [/app/Web/Web.csproj]
2020-01-23T18:53:47.7757547Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/app/Web/Web.csproj]
2020-01-23T18:53:47.7757987Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(393,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/app/Web/Web.csproj]
2020-01-23T18:53:48.5193320Z   Web -> /app/Web/bin/Release/Web.dll

GenerateRuntimeConfigurationFiles - '/app/Web/bin/Release/Web.runtimeconfig.json'

2020-01-28T13:09:25.4806641Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018: The "GenerateRuntimeConfigurationFiles" task failed unexpectedly. [/app/Web/Web.csproj]
2020-01-28T13:09:25.4812613Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018: System.IO.IOException: The process cannot access the file '/app/Web/bin/Release/Web.runtimeconfig.json' because it is being used by another process. [/app/Web/Web.csproj]
2020-01-28T13:09:25.4814003Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at System.IO.FileStream.Init(FileMode mode, FileShare share, String originalPath) [/app/Web/Web.csproj]
2020-01-28T13:09:25.4815907Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) [/app/Web/Web.csproj]
2020-01-28T13:09:25.4816656Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) [/app/Web/Web.csproj]
2020-01-28T13:09:25.4817892Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at System.IO.File.Create(String path) [/app/Web/Web.csproj]
2020-01-28T13:09:25.4820208Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at Microsoft.NET.Build.Tasks.GenerateRuntimeConfigurationFiles.WriteToJsonFile(String fileName, Object value) [/app/Web/Web.csproj]
2020-01-28T13:09:25.4822846Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at Microsoft.NET.Build.Tasks.GenerateRuntimeConfigurationFiles.WriteRuntimeConfig(ProjectContext projectContext) [/app/Web/Web.csproj]
2020-01-28T13:09:25.4823815Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at Microsoft.NET.Build.Tasks.GenerateRuntimeConfigurationFiles.ExecuteCore() [/app/Web/Web.csproj]
2020-01-28T13:09:25.4824297Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() [/app/Web/Web.csproj]
2020-01-28T13:09:25.4824697Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/app/Web/Web.csproj]
2020-01-28T13:09:25.4825082Z /usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(255,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/app/Web/Web.csproj]
jiridanek commented 1 year ago

I saw this with .net 7.0 with dotnet publish and I'm hoping that splitting it into separate dotnet build and then dotnet publish --no-build will help. So far it seems to fare better, but this happens at random, so I'm not sure it is all behind me.

RUN dotnet build -c Release
RUN dotnet publish --no-build --self-contained false -c Release -o /publish

My failure was

  Restored /src/src/Sender/Sender.csproj (in 7 ms).
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018: System.IO.IOException: The process cannot access the file '/src/src/ClientLib/bin/Release/net7.0/ClientLib.deps.json' because it is being used by another process. [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at Microsoft.Win32.SafeHandles.SafeFileHandle.Init(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Int64& fileLength, UnixFileMode& filePermissions) [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Func`4 createOpenException) [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode) [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize) [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at System.IO.File.Create(String path) [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at Microsoft.NET.Build.Tasks.GenerateDepsFile.WriteDepsFile(String depsFilePath) [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/src/src/ClientLib/ClientLib.csproj]
/usr/lib64/dotnet/sdk/7.0.105/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(197,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/src/src/ClientLib/ClientLib.csproj]

https://github.com/rh-messaging/cli-proton-dotnet/actions/runs/5314710513/jobs/9622219842#step:5:184