Skip to content
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

[release/5.0-rc2] [wasm] Download Symbols from microsoft symbol server #42260

Closed

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Sep 15, 2020

Backport of #40690 to release/5.0-rc2

/cc @thaystg

Customer Impact

When a customer is trying to debug aspnetcore assemblies the pdb info can be found on MS Symbol Server, with this PR we try to find it, if it's configured on inspectURI on launchSettings.json :
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}?urlSymbolServer=http://msdl.microsoft.com/download/symbols".
Fixes #39969 and #39450

Testing

I test locally adding and removing the parameter on VSWin.

Risk

No risk, if the user does not pass any extra parameter on inspectUri, this will not have any effect.

thaystg and others added 22 commits September 15, 2020 17:19
…n there is an exception and exceptions are turned on on debugger. This is a workaround while VS doesn't work on it, which should be the final solution.
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
…request as discussed with Diego:

Diego: The response from vs code is that this shouldn't live in js-debug, so I think that passing it around in inspectUri would be the best approach for us
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
…il. When it's merged we will not get any side effect with this workaroud.
@Dotnet-GitSync-Bot
Copy link
Collaborator

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@thaystg thaystg requested a review from lewing September 15, 2020 17:25
@marek-safar marek-safar added arch-wasm WebAssembly architecture area-Debugger-mono labels Sep 16, 2020
@ghost
Copy link

ghost commented Sep 16, 2020

Tagging subscribers to this area: @thaystg
See info in area-owners.md if you want to be subscribed.

@marek-safar marek-safar added the Servicing-consider Issue for next servicing release review label Sep 16, 2020
@marek-safar
Copy link
Contributor

@danroth27 is this important enough for you to land before GA?

@lewing
Copy link
Member

lewing commented Sep 29, 2020

We've discussed this and we are trying to come up with a broader plan for settings like this that cooperate with other tooling. That said, I think it is safe to take if we want it in.

@danroth27
Copy link
Member

This seems low risk and valuable functionality to take into .NET 5. I'm supportive of taking this.

@marek-safar
Copy link
Contributor

/backport to release/5.0

@github-actions
Copy link
Contributor Author

Started backporting to release/5.0: https://github.com/dotnet/runtime/actions/runs/280022283

@github-actions
Copy link
Contributor Author

@marek-safar backporting to release/5.0 failed, the patch most likely resulted in conflicts:

$ git am --3way --ignore-whitespace --keep-non-patch changes.patch

Applying: Creating a draft to download symbols from microsoft symbol server when there is an exception and exceptions are turned on on debugger. This is a workaround while VS doesn't work on it, which should be the final solution.
.git/rebase-apply/patch:14: trailing whitespace.
        
.git/rebase-apply/patch:125: trailing whitespace.
        
warning: 2 lines add whitespace errors.
Using index info to reconstruct a base tree...
M	src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs
M	src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
Falling back to patching base and 3-way merge...
Auto-merging src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
Auto-merging src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs
Applying: Fix what lewing suggested.
Applying: Changing what @radical suggested.
Applying: Changed what @radical suggested.
Applying: Update src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
Applying: Update src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
Applying: If it's not available on a URL try in the next one in the list.
Applying: Logging error and adding comment about SDSR
Applying: Returning if we find the method even if we have an exception sending files to browser.
Applying: Logging when we don't find the pdb.
Applying: Changing what @radical suggested.
Applying: Avoiding that we try to load symbols from the same assembly more than once.
Applying: Simplifying and adding more log.
Applying: Update src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
Applying: Adding support for receive the urlSymbolServer as a parameter in the request as discussed with Diego:
error: sha1 information is lacking or useless (src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0015 Adding support for receive the urlSymbolServer as a parameter in the request as discussed with Diego:
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

@thaystg
Copy link
Member

thaystg commented Sep 30, 2020

@marek-safar should I do the backport manually?

@marek-safar
Copy link
Contributor

@thaystg yes, if we want this in 5.0 GA build (@lewing)

@lewing
Copy link
Member

lewing commented Oct 1, 2020

closing because this targets rc2

@lewing lewing closed this Oct 1, 2020
@jkotas jkotas deleted the backport/pr-40690-to-release/5.0-rc2 branch October 2, 2020 02:34
@ghost ghost locked as resolved and limited conversation to collaborators Dec 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Debugger-mono Servicing-consider Issue for next servicing release review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants