BotBuilder-Samples icon indicating copy to clipboard operation
BotBuilder-Samples copied to clipboard

Skill ConversationIdFactories should not throw on receiving a trace after conversation is ended

Open EricDahlvang opened this issue 5 years ago • 2 comments

Describe the bug

If a child bot sends a trace after ending the conversation, the parent is currently throwing due to the conversation.id not being present in the dictionary. Instead of throwing exceptions, the parent should just silently ignore the trace.

To Reproduce

Steps to reproduce the behavior:

  1. Create a V3 node skill which calls session.endConveration() when the skill completes
  2. Connect to the parent of the skill from the emulator
  3. Notice an exception in the parent after the skill finishes, due to conversation.Id not present in ConversationIdFactory

Expected behavior

Trace activities should not throw exceptions in the parent if the converation.id is not present

[bug]

EricDahlvang avatar Feb 12 '20 19:02 EricDahlvang

Hi @EricDahlvang, does this happen only in JS and using a V3 bot? Or it affects all languages? Is it possible to repro this with sample 80 or 81?

gabog avatar Sep 11 '20 15:09 gabog

@gabog This issue arose from a v3 node skill (since it auto-sends traces while connected to the emulator), and any v4 parent/skill host (dotnet, javascript, python).

I believe this would be reproducible with sample 80, if it included telemetry/tracing. The bug is actually in the v4 sdks... imo, they should be ignoring trace messages if there is no conversation.id for the skill which called them (something cannot be traced when the conversation has ended).

EricDahlvang avatar Sep 16 '20 19:09 EricDahlvang