Skip to content

[release/7.0.1xx] Build failure when source-build builds on itself due to _GenerateComposites #3140

Closed
@ayakael

Description

@ayakael

Build of source-build fails to due to aspnetcore build failing when using prebuilt artifacts from non-portable build. This seems relevant to dotnet/installer#14549, as the failure does not occur when building using prebuilt portable bits:

Emitting PerfMap file: /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/Microsoft.Net.Http.Headers.ni.r2rmap
    EXEC : error : Multiple input files matching same simple name /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/System.Formats.Asn1.dll /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.runtime.alpine.3.17-x64/7.0.0/runtimes/alpine.3.17-x64/lib/net7.0/System.Formats.Asn1.dll [/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj]
    ##vso[task.logissue type=error;sourcepath=EXEC;linenumber=0;columnnumber=0;code=;](NETCORE_ENGINEERING_TELEMETRY=Build) Multiple input files matching same simple name /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/System.Formats.Asn1.dll /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.runtime.alpine.3.17-x64/7.0.0/runtimes/alpine.3.17-x64/lib/net7.0/System.Formats.Asn1.dll
      Internal.CommandLine.CommandLineException: Multiple input files matching same simple name /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/System.Formats.Asn1.dll /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.runtime.alpine.3.17-x64/7.0.0/runtimes/alpine.3.17-x64/lib/net7.0/System.Formats.Asn1.dll
         at Internal.CommandLine.Helpers.AppendExpandedPaths(Dictionary`2 dictionary, String pattern, Boolean strict)
         at ILCompiler.Program.ProcessCommandLine(String[] args)
         at ILCompiler.Program.Run(String[] args)
         at ILCompiler.Program.Main(String[] args)
    /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj(496,5): error MSB3073: The command ""/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.crossgen2.alpine.3.17-x64/7.0.0/tools/crossgen2" --composite --targetarch:x64 --targetos:linux /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.runtime.alpine.3.17-x64/7.0.0/runtimes/alpine.3.17-x64/lib/net7.0/*.dll /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/*.dll --out:"/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/obj/Composite/Release/full-composite.r2r.dll"" exited with code 1.
    ##vso[task.logissue type=error;sourcepath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj;linenumber=496;columnnumber=5;code=MSB3073;](NETCORE_ENGINEERING_TELEMETRY=Build) The command ""/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.crossgen2.alpine.3.17-x64/7.0.0/tools/crossgen2" --composite --targetarch:x64 --targetos:linux /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.runtime.alpine.3.17-x64/7.0.0/runtimes/alpine.3.17-x64/lib/net7.0/*.dll /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/*.dll --out:"/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/obj/Composite/Release/full-composite.r2r.dll"" exited with code 1.
    
    Build FAILED.
    
    EXEC : error : Multiple input files matching same simple name /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/System.Formats.Asn1.dll /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.runtime.alpine.3.17-x64/7.0.0/runtimes/alpine.3.17-x64/lib/net7.0/System.Formats.Asn1.dll [/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj]
    /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj(496,5): error MSB3073: The command ""/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.crossgen2.alpine.3.17-x64/7.0.0/tools/crossgen2" --composite --targetarch:x64 --targetos:linux /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/package-cache/microsoft.netcore.app.runtime.alpine.3.17-x64/7.0.0/runtimes/alpine.3.17-x64/lib/net7.0/*.dll /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/bin/Microsoft.AspNetCore.App.Runtime/Release/net7.0/alpine.3.17-x64/*.dll --out:"/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/obj/Composite/Release/full-composite.r2r.dll"" exited with code 1.
        0 Warning(s)
        2 Error(s)
    
    Time Elapsed 00:01:38.25
  /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets(192,5): error MSB3073: The command "/builds/ayakael/aports/community/dotnet7-build/src/bootstrap//dotnet msbuild /m /nologo /clp:Summary /v:minimal /nr:false /warnaserror /p:TreatWarningsAsErrors=true /p:ContinuousIntegrationBuild=true /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj -p:RepoRoot=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/ /p:ArcadeBuildFromSource=true /p:CopyWipIntoInnerSourceBuildRepo=true /p:DotNetBuildOffline=true /p:CopySrcInsteadOfClone=true /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props /p:AdditionalSourceBuiltNupkgCacheDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/blob-feed/packages/ /p:ReferencePackageNupkgCacheDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/packages/reference/ /p:PreviouslySourceBuiltNupkgCacheDir=/usr/lib/dotnet/artifacts/7.0.100/ /p:SourceBuildUseMonoRuntime=false /p:RestoreDisableParallel= /p:PublishCompressedFilesPathPrefix=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/blobs/aspnetcore/Runtime/ /p:PortableBuild=false /p:TargetRuntimeIdentifier=alpine.3.17-x64 /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0 /p:EnablePackageValidation=false /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props -p:BuildNodeJS=false -p:BuildManaged=true -p:Restore=true -p:Build=true -p:Pack=true -p:Test=false -p:TargetArchitecture=x64 -p:TargetOsName=linux -p:Configuration=Release /bl:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/log/Release/Build.binlog -logger:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/net7.0/Microsoft.DotNet.ArcadeLogging.dll  /p:SourceBuildRuntimeIdentifier=alpine.3.17-x64 /p:ArcadeInnerBuildFromSource=true /p:DotNetBuildFromSource=true /p:RepoRoot=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/ /p:ArtifactsDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/ /bl:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/sourcebuild.binlog /p:ContinuousIntegrationBuild=true /p:SourceBuildOutputDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/ /p:SourceBuiltBlobFeedDir= /p:DotNetBuildOffline=true /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props" exited with code 1. [/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
  ##vso[task.logissue type=error;sourcepath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets;linenumber=192;columnnumber=5;code=MSB3073;]The command "/builds/ayakael/aports/community/dotnet7-build/src/bootstrap//dotnet msbuild /m /nologo /clp:Summary /v:minimal /nr:false /warnaserror /p:TreatWarningsAsErrors=true /p:ContinuousIntegrationBuild=true /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj -p:RepoRoot=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/ /p:ArcadeBuildFromSource=true /p:CopyWipIntoInnerSourceBuildRepo=true /p:DotNetBuildOffline=true /p:CopySrcInsteadOfClone=true /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props /p:AdditionalSourceBuiltNupkgCacheDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/blob-feed/packages/ /p:ReferencePackageNupkgCacheDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/packages/reference/ /p:PreviouslySourceBuiltNupkgCacheDir=/usr/lib/dotnet/artifacts/7.0.100/ /p:SourceBuildUseMonoRuntime=false /p:RestoreDisableParallel= /p:PublishCompressedFilesPathPrefix=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/blobs/aspnetcore/Runtime/ /p:PortableBuild=false /p:TargetRuntimeIdentifier=alpine.3.17-x64 /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0 /p:EnablePackageValidation=false /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props -p:BuildNodeJS=false -p:BuildManaged=true -p:Restore=true -p:Build=true -p:Pack=true -p:Test=false -p:TargetArchitecture=x64 -p:TargetOsName=linux -p:Configuration=Release /bl:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/log/Release/Build.binlog -logger:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/net7.0/Microsoft.DotNet.ArcadeLogging.dll  /p:SourceBuildRuntimeIdentifier=alpine.3.17-x64 /p:ArcadeInnerBuildFromSource=true /p:DotNetBuildFromSource=true /p:RepoRoot=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/ /p:ArtifactsDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/ /bl:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/sourcebuild.binlog /p:ContinuousIntegrationBuild=true /p:SourceBuildOutputDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/ /p:SourceBuiltBlobFeedDir= /p:DotNetBuildOffline=true /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props" exited with code 1.
  
  Build FAILED.
  
  /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets(192,5): error MSB3073: The command "/builds/ayakael/aports/community/dotnet7-build/src/bootstrap//dotnet msbuild /m /nologo /clp:Summary /v:minimal /nr:false /warnaserror /p:TreatWarningsAsErrors=true /p:ContinuousIntegrationBuild=true /builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj -p:RepoRoot=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/ /p:ArcadeBuildFromSource=true /p:CopyWipIntoInnerSourceBuildRepo=true /p:DotNetBuildOffline=true /p:CopySrcInsteadOfClone=true /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props /p:AdditionalSourceBuiltNupkgCacheDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/blob-feed/packages/ /p:ReferencePackageNupkgCacheDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/packages/reference/ /p:PreviouslySourceBuiltNupkgCacheDir=/usr/lib/dotnet/artifacts/7.0.100/ /p:SourceBuildUseMonoRuntime=false /p:RestoreDisableParallel= /p:PublishCompressedFilesPathPrefix=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/blobs/aspnetcore/Runtime/ /p:PortableBuild=false /p:TargetRuntimeIdentifier=alpine.3.17-x64 /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0 /p:EnablePackageValidation=false /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props -p:BuildNodeJS=false -p:BuildManaged=true -p:Restore=true -p:Build=true -p:Pack=true -p:Test=false -p:TargetArchitecture=x64 -p:TargetOsName=linux -p:Configuration=Release /bl:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/log/Release/Build.binlog -logger:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/net7.0/Microsoft.DotNet.ArcadeLogging.dll  /p:SourceBuildRuntimeIdentifier=alpine.3.17-x64 /p:ArcadeInnerBuildFromSource=true /p:DotNetBuildFromSource=true /p:RepoRoot=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/ /p:ArtifactsDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/ /bl:/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/self/src/artifacts/sourcebuild.binlog /p:ContinuousIntegrationBuild=true /p:SourceBuildOutputDir=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/src/aspnetcore/artifacts/source-build/ /p:SourceBuiltBlobFeedDir= /p:DotNetBuildOffline=true /p:DotNetPackageVersionPropsPath=/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/artifacts/obj/x64/Release/PackageVersions.props" exited with code 1. [/builds/ayakael/aports/community/dotnet7-build/src/dotnet-v7.0.100-rtm.22521.12/Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
      0 Warning(s)
      1 Error(s)

A workaround is removing the _GenerateComposites target that triggers this error via:

diff --git a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
index c8074844dc..50d9609f32 100644
--- a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
@@ -227,7 +227,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant
     <CrossGenDependsOn Condition=" '$(CrossgenOutput)' == 'true' ">
       $(CrossGenDependsOn);
       _BatchCrossGenAssemblies;
-      _GenerateComposites;
     </CrossGenDependsOn>
     <!-- _GetBuildOutputFilesWithTfm executes in a separate context from Build, GenerateNuspec, and so on. -->
     <TargetsForTfmSpecificBuildOutput>

This does not occur on dotnet6 as that target was added in dotnet7. As source-build does not care about composites, as far as I can tell, removal doesn't seem to be a problem.

Metadata

Metadata

Assignees

Labels

area-upstream-fixNeeds a change in a contributing repo

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions