Description
openedon Sep 10, 2021
Describe the bug
Using the CoreWithLanguage sample with the Orchestrator, simply saying "hi" to the bot causes an ArgumentException ("None" already added).
Version
Version: 2.1.1
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Browser
- Electron distribution
- Chrome
- Safari
- Firefox
- Edge
OS
- macOS
- Windows
- Ubuntu
To Reproduce
Steps to reproduce the behavior:
- Create an instance of the CoreWithLanguage sample
- Change the root recogniser to the Orchestrator
- Start the bot and say hi to it
- Observe ErrorOccured:
"ClassName": "System.ArgumentException",
"Message": "An item with the same key has already been added. Key: None",
Expected behavior
UnknownIntent triggered
Screenshots
Additional context
Callstack from the trace:
at System.Collections.Generic.Dictionary
2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)\r\n at System.Collections.Generic.Dictionary2.Add(TKey key, TValue value)\r\n at Microsoft.Bot.Builder.AI.Orchestrator.OrchestratorRecognizer.RecognizeAsync(DialogContext dc, Activity activity, CancellationToken cancellationToken, Dictionary
2 telemetryProperties, Dictionary2 telemetryMetrics)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.Recognizers.MultiLanguageRecognizer.RecognizeAsync(DialogContext dialogContext, Activity activity, CancellationToken cancellationToken, Dictionary
2 telemetryProperties, Dictionary2 telemetryMetrics)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.Recognizers.CrossTrainedRecognizerSet.<>c__DisplayClass7_0.<<RecognizeAsync>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.Recognizers.CrossTrainedRecognizerSet.RecognizeAsync(DialogContext dialogContext, Activity activity, CancellationToken cancellationToken, Dictionary
2 telemetryProperties, Dictionary2 telemetryMetrics)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.Recognizers.RecognizerSet.RecognizeAsync(DialogContext dialogContext, Activity activity, CancellationToken cancellationToken, Dictionary
2 telemetryProperties, Dictionary2 telemetryMetrics)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.AdaptiveDialog.OnRecognizeAsync(ActionContext actionContext, Activity activity, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.AdaptiveDialog.ProcessEventAsync(ActionContext actionContext, DialogEvent dialogEvent, Boolean preBubble, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.AdaptiveDialog.ProcessEventAsync(ActionContext actionContext, DialogEvent dialogEvent, Boolean preBubble, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.AdaptiveDialog.ProcessEventAsync(ActionContext actionContext, DialogEvent dialogEvent, Boolean preBubble, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.AdaptiveDialog.OnPreBubbleEventAsync(DialogContext dc, DialogEvent dialogEvent, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.Dialog.OnDialogEventAsync(DialogContext dc, DialogEvent e, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.DialogContainer.OnDialogEventAsync(DialogContext dc, DialogEvent e, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.Adaptive.AdaptiveDialog.BeginDialogAsync(DialogContext dc, Object options, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.DialogContext.BeginDialogAsync(String dialogId, Object options, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.DialogExtensions.InnerRunAsync(ITurnContext turnContext, String dialogId, DialogContext dialogContext, CancellationToken cancellationToken)\r\n at Microsoft.Bot.Builder.Dialogs.DialogExtensions.InternalRunAsync(ITurnContext turnContext, String dialogId, DialogContext dialogContext, DialogStateManagerConfiguration stateConfiguration, CancellationToken cancellationToken)"