Uh oh!
There was an error while loading. Please reload this page.
[mono] Fix StackTrace from a dim and Vtable offsets for static interface method - #60770
Conversation
ghost
commented
Oct 22, 2021
Tagging subscribers to this area: Issue DetailsI'm not sure if this is the right fix, but with it I can see the callstack correctly as I can see if I run using CoreCLR. Output running on mono:
|
lambdageek
commented
Oct 22, 2021
Related to #60486. @thaystg can you add a test to https://github.com/dotnet/runtime/tree/main/src/tests/Loader/classloader/DefaultInterfaceMethods/regressions /cc @bholmes |
Uh oh!
There was an error while loading. Please reload this page.
vargaz
commented
Oct 22, 2021
The stacktrace is supposed to contain the exact generic instance not DefItf.ISubscriber`1. |
vargaz
commented
Oct 22, 2021
This seems to fix it for me: |
thaystg
commented
Oct 22, 2021
@vargaz , your fix looks like it works the result running on mono with your fix would be: But it's different of what I get when I run on CoreCLR where I have: |
vargaz
commented
Oct 24, 2021
Its not defined what the result should be, we try to obtain the exact generic instance if possible. |
bholmes
commented
Nov 5, 2021
I created a new program with more cases. https://gist.github.com/bholmes/e3ccaf9d044b7261d6865c8f0173dc64 Method5 appears to be broken but I think this patch is good. |
thaystg
commented
Nov 26, 2021
/azp run runtime-manual |
|
Azure Pipelines successfully started running 1 pipeline(s). |
| if (m_method_is_static (method)) | ||
| continue; |
There was a problem hiding this comment.
We're going to need to revisit this (and line 1535, below) when non-abstract static virtual methods are going to be supported
bholmes
commented
Dec 1, 2021
If this is approved, I want this to go back to mono/mono. Let me know if and when you want me to back port these changes to that repo. (assuming that automation will fail.) |
lambdageek
commented
Dec 1, 2021
/azp run sync-runtime-to-mono |
|
Azure Pipelines successfully started running 1 pipeline(s). |
lambdageek
commented
Dec 1, 2021
There are CoreCLR and Mono test failures from the new test.
In both cases, it's an issue with the testcase, not with the implementation. (So the mono backport is still ok) |
thaystg
commented
Feb 17, 2022
/backport to release/6.0 |

TestMethod5was being called it was executingTestMethod10, and this was fixed skipping static interface methods when was calculating vtable offsets.The fix was completely done by @vargaz, I just opened the PR.
Thanks @vargaz .
Fix#60486