Search Issue Tracker

Fixed in Unity 2017.2

Votes

3

Found in

5.5.0f3

Issue ID

871461

Regression

No

Bad syntax in GrammarRecognizer causes GrammarRecognizer to fail on all subsequent runs until Unity restart

Windows Standalone

-

-

Priority: 7Not yet prioritized for a release

-

Severity: 2No workaround

To reproduce:
1) Open attached project and scene in it
2) Press Play in editor to run the simple application.
3) With a microphone plugged in and enabled, say one of the words listed in the goodGrammar.xml file:
"computer",
"test,
"hello".
4) The Console area of the editor should read "Phrase Recognized: " followed by the word that was heard.
5) Stop the scene.
6) In the Hierarchy, select the Grammar Recognizer game object.
7) On the Grammar Recognizer Test script, check the "Use Bad Grammar" checkbox. In code, this will load the badGrammar.xml file when the program is started (an xml file that has an intentional syntax error).
8) Repeat steps 2 and 3
9) The console area of the editor should remain empty--it will not recognize any phrases as the GrammarRecognizer silently fails.
10) Stop the play mode again
11) In the Hierarchy, select the Grammar Recognizer game object.
12) On the Grammar Recognizer Test script, uncheck the "Use Bad Grammar" checkbox.
13) Repeat steps 2 and 3 again

Expected: Step 4 happens again as good file is reloaded
Actual: GrammarRecognizer continues to silently fail

If you close Unity and restart it, the problem disappears until next time you load the broken .xml file

Reproduced in 5.4.0f3, 5.5.0f3, 5.6.0b4

Comments (1)

  1. D08b2dccf53894d5ffaad2fe04414411?d=mm

    DorInception

    Jul 13, 2017 15:43

    It also seems to fail on some good syntax....
    Things like <tag> are breaking it.
    Also, the Microsoft example is not working. As soon as I add the "topLevel" rule, it breaks.

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.