Audio writer TTS loops indefinitely and can lock up the client completely
Vectrobe opened this issue ยท 2 comments
Issue type:
- ๐ Bug
Short description:
The TTS functionality doesnt check if TTS is currently busy before quing up new requests, which results in it growing the queue indefinitely, to the point that at best it never stops talking and at worst it completely locks up the client and server, potentially resulting in world corruption.
Steps to reproduce the problem:
- put a reasonably long string value in the TTS aspect of an audio writer and let it run for a second or so using the default tick rate setting
- it will now keep going on even after you exit the world, and if you go into the accessibility settings it often just locks up the client
Expected behaviour:
only allow a string to be queued if TTS isnt already talking, since the TTS is only one instance, as opposed to standard sound events that are instanced per sound event and have a safe instance limit
Versions:
- This mod: 1.22.1
- Minecraft: 1.20.1
- Forge: neo 47.1.106
Log file:
none generated/not applicable
Unfortunately, the Narrator API doesn't provide a way to check if it is busy speaking something.
There's a small change I could do to improve things slightly, but the Narrator will still be able to speak over itself in some cases.
In those case, it's recommended to change the part frequency.