Closed NikolaMilosavljevic closed 2 months ago
@agocke, this looks related to the upload issue we had hit a few weeks ago? Has a fix been made for it to strip native symbols for NativeAOT?
@NikolaMilosavljevic, assume this is no longer an issue?
Closing for now since I believe this was an intermittent issue.
Preview 7 sizes are a bit better, but most of the concerns are still there.
@mangod9 the main concern is still present in Preview 7 builds
Main intermediate package (Microsoft.SourceBuild.Intermediate.runtime.linux-x64.9.0.0-rc.1.24402.1.nupkg
) contains the following large-size packages:
Package | Size (MB) |
---|---|
dotnet-apphost-pack-9.0.0-rc.1.24402.1-linux-x64.tar.gz | 86 |
Microsoft.NETCore.App.Host.linux-x64.9.0.0-rc.1.24402.1.nupkg | 86 |
Microsoft.NETCore.App.Runtime.linux-x64.9.0.0-rc.1.24402.1.nupkg | 153 |
runtime.linux-x64.Microsoft.NETCore.DotNetAppHost.9.0.0-rc.1.24402.1.nupkg | 88 |
singlefilehost
is present in 3 of these 4 packages. Host size is close to 200 MB
@agocke, assume there isn't much that can be done here? The last time the issue was that there were symbols included as part of NativeAOT publish.
The symbol stripping is disabled in source build for all binaries by default. Distro builds want the symbol stripping disabled in our build. They have their own process to strip and archive the symbols. This behavior is controlled by KeepNativeSymbols
that is set to true by default here: https://github.com/dotnet/runtime/blob/a4fe68fcb3233b8b229444557d38c7565938de05/Directory.Build.props#L394 .
in that case @NikolaMilosavljevic guess we should figure out what thresholds these package sizes are breaching? Is it some upload limits?
in that case @NikolaMilosavljevic guess we should figure out what thresholds these package sizes are breaching? Is it some upload limits?
The threshold for AzDO upload is 500 MB per artifact. Intermediate package sizes are growing, and this should be monitored. Perhaps we already have artifacts size tests in AzDO push code.
Full, product, source build is not affected as we do not use intermediate packages. This can only, potentially, affect repo-level source-build.
It appears that there was some new feature work in 9.0 related to LLDB-focused debug info, that has caused a significant increase in source-build intermediate packages. Sample affected build: https://dev.azure.com/dnceng/internal/_build/results?buildId=2267121&view=artifacts&pathAsName=false&type=publishedArtifacts
Here is the comparison between 8.0 and 9.0:
Some open questions:
runtime
packages, in source-build intermediates, with the same content? I.e.singlefilehost
, which is now over 200MB is included in:dotnet-apphost-pack-9.0.0-alpha.1.23464.1-linux-x64.tar.gz
andruntime.linux-x64.Microsoft.NETCore.DotNetAppHost.9.0.0-alpha.1.23464.1.nupkg
.cc @agocke @dotnet/source-build-internal