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

Add a test which uncovered stack overflow in 7.0 #3156

Merged
merged 1 commit into from
Dec 12, 2022

Conversation

vitek-karas
Copy link
Member

@vitek-karas vitek-karas commented Dec 9, 2022

Recursive generics with interface marking annotation used to cause stackoverflow in the linker. The test now passes since the problem was fixed in #3073

This seems to be the test for #3155 - it produces the exact same stack frames and stack overflow when ran on 7.0.

Recurisve generics with interface marking annotation used to cause stackoverflow in the linker.
The test now passes since the problem was fixed in dotnet#3073
@vitek-karas
Copy link
Member Author

I verified that with #3094 the test passes as well.

@vitek-karas
Copy link
Member Author

Once merged we should add this test to #3094 as well.

Copy link
Member

@jtschuster jtschuster left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@vitek-karas vitek-karas merged commit dde6d62 into dotnet:main Dec 12, 2022
@vitek-karas vitek-karas deleted the RecursiveGenericInterfaceTest branch December 12, 2022 10:25
vitek-karas added a commit to jtschuster/linker that referenced this pull request Dec 12, 2022
tlakollo pushed a commit to tlakollo/linker that referenced this pull request Dec 20, 2022
Recurisve generics with interface marking annotation used to cause stackoverflow in the linker.
The test now passes since the problem was fixed in dotnet#3073

Commit migrated from dotnet@dde6d62
tlakollo pushed a commit to tlakollo/runtime that referenced this pull request Dec 22, 2022
Recurisve generics with interface marking annotation used to cause stackoverflow in the linker.
The test now passes since the problem was fixed in dotnet/linker#3073

Commit migrated from dotnet/linker@dde6d62
sbomer added a commit that referenced this pull request Jan 18, 2023
…state changes (#3094)

* Check for marking virtual method due to base only when state changes (#3073)

Instead of checking every virtual method to see if it should be kept due
to a base method every iteration of the MarkStep pipeline, check each
method only when its relevant state has changed.

Co-authored-by: Sven Boemer <[email protected]>

* Don't mark override of abstract base if the override's declaring type is not marked (#3098)

* Don't mark an override every time the base is abstract, only if the declaring type is also marked
Adds a condition to ShouldMarkOverrideForBase to exit early if the declaring type of the method is not marked.

* Add test case for #3112 with pseudo-circular reference with ifaces

* Link issue to TODO

* Adds a test for recursive generics on interfaces

This is a copy of the test added in #3156

Co-authored-by: Sven Boemer <[email protected]>
Co-authored-by: vitek-karas <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants