-
Notifications
You must be signed in to change notification settings - Fork 353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publishing v3 doesn't publish converted portable PDBs #7988
Comments
In the call to publishSymbolHelper we always default this to false arcade/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestBase.cs Line 490 in c682530
We will need to make sure that value can be updated by repo owners... @mmitche not sure if there is more to this change.. |
One thing I noticed this feature was turned off even in V2 arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishToSymbolServers.proj Line 101 in c682530
|
That's because in-repo the conversion was done not by the uploader, but in-build:
|
That design had an issue in the mono world too (we can't really do it at build time) - as we now have components that build not on windows but get inserted into VS, so PDB2PDB never ran. cc: @directhex |
So this is really 3 issues:
|
More CPU + time. You'd need to retune the timeouts of publishing for something like runtime |
@epananth Can you run some tests on runtime with the proposed changes? |
Yes will do! |
I'm seeing this error in promotion build -> https://dev.azure.com/dnceng/internal/_build/results?buildId=1404592&view=results @alexperovich is helping fix this one.. |
was able to test it against runtime -> https://dev.azure.com/dnceng/internal/_build/results?buildId=1407043&view=logs&j=ba23343f-f710-5af9-782d-5bd26b102304&t=6e277ba4-1c1e-552d-b96f-db0aeb4be20a |
Looks reasonable to me, time-wise, assuming it did what it should. |
I spoke to @hoyosjs he asked me to test a build that is not being published before. So I am running runtime test now.. Will update the results later today.. |
Got this one working too https://dev.azure.com/dnceng/internal/_build/results?buildId=1407513&view=results |
Will get this PR out first thing in the morning |
Reopening since the changes for this had to be reverted. |
Perhaps we need to make the property opt-in instead of opt-out? |
Anything that can potentially end up in VS needs it. It's more likely it should be on by default. |
Then I guess we need to make fixes to pdb2pdb so that it doesn't result in sourcelink errors in aspnetcore? |
This indirectly uses PDB2PDB - I wonder if we are using a very old version. Can you show me the ASP errors? |
Someone had filed #7388 which is the same error before. |
I see - that error is not what I was worried about. The one that I was more concerned about is https://dev.azure.com/dnceng/internal/_build/results?buildId=1417687&view=logs&j=ba23343f-f710-5af9-782d-5bd26b102304&t=6e277ba4-1c1e-552d-b96f-db0aeb4be20a&l=504. This one is basically the DLL and PDB are not co-located, which is a requirement for conversion. The one you mentioned gets fixed by dotnet/symreader-converter#162, I'll need to check if we need to update the converter. |
@hoyosjs any update on this? |
Took a while as these were... gnarly to figure out and lacking logging. From the original report in #8033:
Maybe @tmat might know what to do here as by the time the symbol uploader gets it, it's way too late.
A lot of the symbol packages are missing PDBs, but that's a separate issue. Additionally a kusto query showed the following issues too: TimelineIssues
| where Message contains "for portable PDB not found"
| summarize count() by BuildId, RecordId
| join TimelineBuilds on BuildId
| extend Repo=split(BuildNumber, " ")[1]
| join TimelineRecords on BuildId, RecordId
| project BuildId, count_, Repo, LogUri
| summarize by tostring(Repo)
Improvements to symuploader out of this:
Among all these there's issues on both sides:
|
After discussion with @mmitche and @hoyosjs we came to a conclusion that ConvertToPdbs has to be done in staging pipeline instead of arcade. |
Tracking symbol validation here -> https://github.com/dotnet/core-eng/issues/14755 |
This has been enabled in release pipeline. So going to close this. |
Symuploader used to do PDB conversion, then it was handled by Symstore.targets + PDB2PDB in publishing v2. I don't think there's anything doing this conversion right now.
This issue is blocking insertions. All Portable PDBs need to be converted to Windows PDBs and indexed.
This is also a gap in validation - it verifies a file is available, not that all appropriate assets are indexed.
cc: @epananth and @mmitche as this is affecting timely insertions.
The text was updated successfully, but these errors were encountered: