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

[mono] catch the case of updated methods in mono_debug_lookup_source_location #94540

Merged
merged 5 commits into from
Nov 12, 2023

Conversation

lambdageek
Copy link
Member

@lambdageek lambdageek commented Nov 8, 2023

If a newly added method is in a stack trace, look it up in the EnC debug information, if available.

Related to #93860

@ghost
Copy link

ghost commented Nov 8, 2023

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

Issue Details

If a newly added method is in a stack trace, look it up in the EnC debug information, if available.

Related to #93860

TODO:

  • Add a variant of the test where we apply the update without a PDB delta (needs test infrastructure fixup)
  • Add debugger tests
Author: lambdageek
Assignees: -
Labels:

area-Diagnostics-coreclr

Milestone: -

@lambdageek lambdageek added area-EnC-mono Hot Reload for WebAssembly, iOS/Android, etc and removed area-Diagnostics-coreclr labels Nov 8, 2023
@lambdageek
Copy link
Member Author

I think I also need to update mono_debug_lookup_source_location_by_il, and figure out how to make a test get in there

@lambdageek
Copy link
Member Author

Actually I think mono_debug_lookup_source_location_by_il doesn't need an update (or at least it's not obvious to me that it is useful).

It's called from 3 places:

  1. From mono_get_frame_info if il_offset != -1 - but as far as I can tell il_offset is never set to anything else. That branch is dead code.
  2. From mono_emit_jit_dump but that's support for profiling, which isn't something we support with hot reload.

@lambdageek
Copy link
Member Author

/backport to release/8.0-staging

Copy link
Contributor

Started backporting to release/8.0-staging: https://github.com/dotnet/runtime/actions/runs/6828799602

Co-Authored-By: Thays Grazia <thaystg@gmail.com>
@lambdageek
Copy link
Member Author

/backport to release/8.0-staging

Copy link
Contributor

Started backporting to release/8.0-staging: https://github.com/dotnet/runtime/actions/runs/6843025042

@lambdageek lambdageek merged commit 38463e2 into dotnet:main Nov 12, 2023
145 checks passed
lambdageek added a commit that referenced this pull request Nov 13, 2023
…o_debug_lookup_source_location (#94612)

Backport of #94540 to release/8.0-staging

If a newly added method is in a stack trace, look it up in the EnC debug information, if available.

Related to #93860

* Add new crashing test

* [mono] catch the case of updated methods in mono_debug_lookup_source_location

Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
Co-authored-by: Thays Grazia <thaystg@gmail.com>
jeromelaban added a commit to unoplatform/Uno.DotnetRuntime.WebAssembly that referenced this pull request Nov 14, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Dec 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-EnC-mono Hot Reload for WebAssembly, iOS/Android, etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants