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

[.NET Renderer][Performance] Calling Visit on AdaptiveVisitor and passing in an AdaptiveToggleVisibilityAction causes an infinite loop. #4164

Closed
DDEfromOR opened this issue Jun 10, 2020 · 5 comments · Fixed by #5259

Comments

@DDEfromOR
Copy link
Member

Platform

What platform is your issue or question related to? (Delete other platforms).

  • .NET

Author or host

We are a service that supports sending Adaptive Cards between various chat clients and Azure Bots.

Version of SDK

NuGet: AdaptiveCards v1.2.4

Details

An analysis of crash dumps from a series of high CPU usage issues revealed an infinite loop that seems to be initiated by by calling the Visit(AdaptiveAction) function on AdaptiveVisitor when passing in an AdaptiveToggleVisibilityAction. Specifically the call on line 142 attempts to find an overload of Visit that accepts an AdaptiveToggleVisibilityAction, fails as no such overload exists, and instead matches with itself, as AdaptiveToggleVisibilityAction derives from AdaptiveAction. It looks like the other paths in this logic have sub-type specific overloads of Visit and this one was simply missed.

@DDEfromOR DDEfromOR added the Bug label Jun 10, 2020
@ghost ghost added the Triage-Needed label Jun 10, 2020
@ghost ghost added this to Needs triage in Bug Triage Jun 10, 2020
@jwoo-msft jwoo-msft changed the title [Performance] Calling Visit on AdaptiveVisitor and passing in an AdaptiveToggleVisibilityAction causes an infinite loop. [.NET Renderer][Performance] Calling Visit on AdaptiveVisitor and passing in an AdaptiveToggleVisibilityAction causes an infinite loop. Jun 11, 2020
@shalinijoshi19 shalinijoshi19 moved this from Needs triage to Approved in Bug Triage Jun 12, 2020
@ghost
Copy link

ghost commented Jun 12, 2020

Hi @DDEfromOR; We triaged and approved your bug for fixing. Please stay tuned for updates around fix progress and/or release vehicle.

@ghost
Copy link

ghost commented Jun 12, 2020

Hi @DDEfromOR. We have acknowledged this issue report. Please continue to follow this issue for updates/progress/questions.

@shalinijoshi19
Copy link
Member

@jwoo-msft please prioritize. tx

@jwoo-msft
Copy link
Member

@jwoo-msft please prioritize. tx

@shalinijoshi19 This is not a templating issue. It's .Net Rendering issue.

@jwoo-msft
Copy link
Member

@DDEfromOR Can you share your payload that caused this issue?

Thanks

@jwoo-msft jwoo-msft added this to Investigating in Joseph's Tasks Jun 15, 2020
@jwoo-msft jwoo-msft removed their assignment Jun 30, 2020
@jwoo-msft jwoo-msft removed this from Investigating in Joseph's Tasks Jun 30, 2020
@shalinijoshi19 shalinijoshi19 added this to the 21.01 milestone Dec 18, 2020
@ghost ghost added the AdaptiveCards v21.01 label Dec 18, 2020
jwoo-msft added a commit that referenced this issue Jan 11, 2021
@ghost ghost moved this from Approved to In Code Review in Bug Triage Jan 12, 2021
Bug Triage automation moved this from In Code Review to Closed Jan 15, 2021
jwoo-msft added a commit that referenced this issue Jan 15, 2021
Co-authored-by: Shalini Joshi-MSFT <shalinij@microsoft.com>
jwoo-msft added a commit that referenced this issue Feb 10, 2021
jwoo-msft added a commit that referenced this issue Feb 18, 2021
* wip

* almost fixed

* work in progress

* Fixed issue #4164

* Updated ANTLR to 4.8  and brought up AEL version

* updated parser & lexer

* removed a dangling line.
jwoo-msft added a commit that referenced this issue Feb 24, 2021
* Fixed issue #4164

* design spec for whitespace handling update for markdown

* Updated the spec

* a few minor detail added
jwoo-msft added a commit that referenced this issue Mar 5, 2021
* Fixed issue #4164

* [.NET][Template] Fixed ANTLR version mismatch
paulcam206 pushed a commit that referenced this issue Mar 6, 2021
* Fixed issue #4164

* [.NET][Template] Fixed ANTLR version mismatch
jwoo-msft added a commit that referenced this issue Mar 12, 2021
* Fixed issue #4164

* [dotnet] Added Simple Memory Interface

* fixed the typo for comments
jwoo-msft added a commit that referenced this issue Apr 8, 2021
* Fixed issue #4164

* [dotnet] Added Simple Memory Interface

* fixed the typo for comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Bug Triage
  
Closed
Development

Successfully merging a pull request may close this issue.

3 participants