-
Notifications
You must be signed in to change notification settings - Fork 6
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
Assertion failed: reentry detected, value=false, oldValue=true #782
Comments
Found the way to consistently produce this. Press a button twice quickly so that you play/stop before the synth begins to speak. When you press the stop button this way there is no utterance to cancel yet so pressing it does nothing. Then the synth begins to speak from the "play" press a little later. Then the next time you press the button play again we hit this assertion because we are trying to cancel/play the same button which sets the same isPlayingProperty back and forth in the same callback. I think this is a failure of UtteranceQueue.cancelUtterance, we need to be able to cancel an utterance between when the announcement is requested and when the utterance gets spoken. I think we are set up to do this now actually that we added a reference to a |
I misdiagnosed, this is not caused by phetsims/utterance-queue#66 but by phetsims/utterance-queue#68 and has been fixed via that issue. UtteranceQueue.cancelUtterance did not remove the Utterance from the queue so pressing the "stop" button effectively did nothing if you pressed it before the Utterance made it to the Announcer. @zepumph assigning to you to review/confirm if you wish otherwise I think this can be closed. |
Seems fixed to me! Thanks |
To reproduce, go to Ratio and Proportion, turn on voicing, and then click any readme button many times quickly.
@jessegreenberg, I'm unsure if reentrancy is acceptable, or if we need to guard here. Over to you.
The text was updated successfully, but these errors were encountered: