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

Cycle detection failed when resourceExplorer LoadType function use AdaptiveDialog as the type #5021

Closed
feich-ms opened this issue Dec 3, 2020 · 2 comments · Fixed by #5072
Assignees
Labels
Area: Adaptive The issue is related to Adaptive dialogs bug Indicates an unexpected problem or an unintended behavior.

Comments

@feich-ms
Copy link
Contributor

feich-ms commented Dec 3, 2020

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.

Version

4.11.1

Describe the bug

When use resourceExplorer.LoadType function to load the adaptive dialogs that has dialog call loop in it, the cycle detection function will not detect the cycle correctly and new DIalogManager will three exception.

To Reproduce

Steps to reproduce the behavior:

  1. Create a adaptive bot will loop in it, such as the sample here https://github.com/microsoft/botbuilder-dotnet/tree/main/tests/Microsoft.Bot.Builder.TestBot.Json/Samples/CycleDetection
  2. Load this bot with resourceExplorer.LoadType<AdaptiveDialog> instead of resource.LoadType<Dialog>
  3. New DialogManager with the loaded adaptive bot
  4. You will see the Object reference not set to an instance of an object exception thrown from EnsureDependenciesInstalled() function

Expected behavior

No exception should be thrown

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

LoadType<AdaptiveDialog> and LoadType<Dialog> has different dialog stack for the same adaptive dialog. For bot that has loop in it, the different dialog call stack will cause the CycleDetectionObserver fail on cycle detection.

@feich-ms feich-ms added bug Indicates an unexpected problem or an unintended behavior. needs-triage The issue has just been created and it has not been reviewed by the team. labels Dec 3, 2020
@cwhitten cwhitten added the Area: Adaptive The issue is related to Adaptive dialogs label Dec 3, 2020
@cwhitten
Copy link
Member

cwhitten commented Dec 3, 2020

cc @EricDahlvang

@mrivera-ms mrivera-ms removed the needs-triage The issue has just been created and it has not been reviewed by the team. label Dec 4, 2020
@carlosscastro carlosscastro self-assigned this Jan 12, 2021
@carlosscastro
Copy link
Member

Checking this and circling back with Eric.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Adaptive The issue is related to Adaptive dialogs bug Indicates an unexpected problem or an unintended behavior.
Projects
None yet
5 participants