Link to failing pipeline: https://dnceng.visualstudio.com/internal/_build/results?buildId=866684&view=logs&j=43d2a893-8a64-53c8-f353-9d032c280600&t=567cfe83-9037-5882-498b-95841a0c95da
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-arm/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-arm/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-arm/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-arm/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-arm64/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-arm64/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-arm64/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-arm64/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-x64/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-x64/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-x64/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-x64/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-x86/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-x86/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/android-x86/native/libmonosgen-2.0.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/android-x86/native/libmonosgen-2.0.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-musl-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-musl-x64/native/libcoreclr.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-musl-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-musl-x64/native/libcoreclr.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
D:\a\1\s\.packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
##[error].packages\microsoft.dotnet.arcade.sdk\6.0.0-beta.20520.8\tools\SdkTasks\PublishToSymbolServers.proj(101,5): error : (NETCORE_ENGINEERING_TELEMETRY=Publish) Invalid ELF BuildID '<null>' for runtimes/linux-x64/native/libcoreclr.so
Runtime pipeline that kicked off this build: https://dev.azure.com/dnceng/internal/_build/results?buildId=865594&view=results
@epananth is this related to issue arcade #6449?
@ilyas1974 I don't think they are related. These are failures seen when using the symbolUploader task, not during the publishing of blobs to storage accounts.
Looking into 3 aspects of this:
For your third point, we have https://github.com/dotnet/arcade/issues/6403 already filed and being looked at.
What we could do in the interim is detect the result of the promotion build. Then it would say: "the promotion build failed, but the build was still assigned to the target channels". Technically it might not be an error, so you could emit a warning. That would make this case more visible until we fix the root cause (that the symbol publishing isn't integrated into regular publishing)
Awesome, thanks Ricardo. I think that covers both 2 & 3. I'll look into the first bullet point.
This is the first build where we start seeing these failures: https://dnceng.visualstudio.com/internal/_build/results?buildId=863910&view=results.
Its related runtime build: https://dev.azure.com/dnceng/internal/_build/results?buildId=863757&view=results
Based simply on the name of the files that have errors and the fact that the related commit touches mono files, I have a strong suspicion that this this a product bug. Not sure how changing paths would affect build ids in ELF files though.
Nope. I am wrong. My Kusto query failed me.
Ok, THIS is the first time we saw it for runtime: https://dnceng.visualstudio.com/internal/_build/results?buildId=850796&view=results
Associated runtime build: https://dev.azure.com/dnceng/internal/_build/results?buildId=850462&view=results
And this is the first time we saw it for more than just mono files: https://dnceng.visualstudio.com/internal/_build/results?buildId=860848&view=results
Which corresponds to this runtime build: https://dev.azure.com/dnceng/internal/_build/results?buildId=860691&view=results
@mikem8361 I'm having a hard time understanding runtime's build process. Do you know what adds the BuildId to ELF/symbol files? In particular, this is only failing for libmonosgen-2.0.so on various architectures and libcoreclr.so on linux-x64 and linux-musl-x64.
Any details on this process that you have would be super helpful!
There linker options to enable the build id. All the coreclr binaries should have this enabled (libcoreclr.so on any architecture/platform) so I don’t know why you are getting that message for those. The libmonogen-2.0.so (and other mono binaries) need this option too. I know nothing about the mono build to help.
@janvorli might know of the top of his head what the linker option is.
I think all of these are actually Mono runtime files, it's just that for Desktop builds we need to rename libmonosgen-2.0.so to libcoreclr.so (fixing that is tracked with https://github.com/dotnet/runtime/issues/34202).
I know the reason for the issue, will fix it.
I opened a PR with a fix.
@adiaaida can we log the name of the .nupkg that caused the error in PublishToSymbolServers.proj? That'd have made it easier to figure out.
This recent promotion for dotnet/runtime passed so we should be good: https://dnceng.visualstudio.com/internal/_build/results?buildId=869933&view=results
Thanks @akoeplinger! I will look into logging the nupkg when we fail
It looks like the only place to add additional logging is in dotnet-symuploader.
@mikem8361 is the best way to go about testing this to pass in the --dry-run flag and using the symuploader command line tool?
Yes, that would be a good way to do it. The “-vd” option enable verbose logging.
This change has been checked in. As the rest of the work mentioned in this issue already has its own issue, closing.
Arcade will need it's version of type symbol uploader build task updated to 1.1.153002.
We would be getting this update automatically on Monday, but I triggered the subscription manually to expedite this a little: https://github.com/dotnet/arcade/pull/6498
Looks like there were unintended consequences to the error I introduced. I'll look into it.
I should have catch this. Tracer.Error will fail the build and CreateFileInfo does return null for valid cases that are not errors.
Yeah. I also don't want to inundate the user with warnings, but when there ARE errors, we want to let the user know which package the error came from.
Let's back out this change for now, as there's no reason to have broken code checked in.
Triage: The main things in this issue are either already fixed (the error in runtime) or already are being tracked by the publishing epic (making sure we warn/error the starting build when the symbols upload fails). I think the logging change is going to require a much more complicated change to how we handle CreateFileInfo that I think is out of scope of FR, given that null sometimes means that there was an error, but other times just means we've already got that file in the list of file infos.
Triage: We think we have everything tracked and completed. Closing.
Most helpful comment
For your third point, we have https://github.com/dotnet/arcade/issues/6403 already filed and being looked at.