-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
dotnet hang in JIT #55323
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
dotnet-issue-labeler
bot
added
the
untriaged
New issue has not been triaged by the area owner
label
Jul 8, 2021
cc @davidwrighton Related to #54941 |
Minimal repro
This is caused by PR #54588. Fortunately #54941 is unrelated and there are no race conditions to deal with. |
davidwrighton
removed
the
untriaged
New issue has not been triaged by the area owner
label
Jul 8, 2021
davidwrighton
added a commit
to davidwrighton/runtime
that referenced
this issue
Jul 8, 2021
- While invalid via the ECMA spec, the runtime currently represents a type explicitly instantiated over its own generic type parameters via the open type MethodTable - This is not strictly correct, as per the spec, these should be represented via an instantiated type, but changing that detail at this time is considered highly risky - This conflicts with the perf optimization around partialy interface loading which uses the open type of an interface to represent a type instantiated in the curiously recurring fashion. - The fix is to detect types instantiated over generic variables, and make them ineligible for the optimization, and to detect those cases where the optimization is ineligible, and revert back to the non-optimized behavior Fixes dotnet#55323
ghost
added
the
in-pr
There is an active PR which will close this issue when it is merged
label
Jul 8, 2021
@davidwrighton I verified the fix from PR in our tests. Looks good, no hang anymore. |
davidwrighton
added a commit
that referenced
this issue
Jul 13, 2021
* Open types can exist as entries in interface map - While invalid via the ECMA spec, the runtime currently represents a type explicitly instantiated over its own generic type parameters via the open type MethodTable - This is not strictly correct, as per the spec, these should be represented via an instantiated type, but changing that detail at this time is considered highly risky - This conflicts with the perf optimization around partialy interface loading which uses the open type of an interface to represent a type instantiated in the curiously recurring fashion. - The fix is to detect types instantiated over generic variables, and make them ineligible for the optimization, and to detect those cases where the optimization is ineligible, and revert back to the non-optimized behavior Fixes #55323
ghost
removed
the
in-pr
There is an active PR which will close this issue when it is merged
label
Jul 13, 2021
ghost
locked as resolved and limited conversation to collaborators
Aug 12, 2021
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Description
dotnet.exe hang in JIT in ctor call with stack:
Configuration
Windows 10 x64
dotnet-runtime-6.0.0-preview.7.21357.14-win-x64
Regression?
yes, preview5 works fine
Other information
I verified issue on main (7b0cdaf) it still there.
I can't create a small repro but I have 100% repro in our tests.
The text was updated successfully, but these errors were encountered: