Crash on FMOD Studio Update thread, Fmod Version: 2.00.09

@tristanjl @mathew

Hi,

I have gathered some more information about the crashes we are experiencing. We are using the default Unity implementation that is provided where we simply create sound instances directly from code and release them when they are not used anymore. For oneshot events we use the code provided above.

During testing we found that if we don’t use any oneshot events, the game runs pretty well and without crashes. When we use the oneshots however, the game can crash in anything between 5 to 30 minutes time. We even tried using the default oneshot functions provided in the RuntimeManager.cs but the results are the same. We even limited the amount of oneshot events played from the code to a just a few per second, but the crashes still keep coming.

We have tried increasing the real and virtual channel counts, setting dsp buffers to different values but they have no effect. Finally we also tried changing settings inside FMOD Studio to see if they have any effect. We limited ALL events to have maximum of 1 instance and their stealing set to “Virtualize”. With these settings the game crashed after an hour of playing.

There is no signs that a certain event would be the cause but rather something random happening inside the system as the log we see in Xcode is always reporting the crash happening inside “Fmod Studio update thread”.

We were forced to upgrade our implementation from 1.10.X to 2.00.09 version because of a crash issue in the old version affecting Android 9 and 10 devices reported here:
Android crash with FMOD 2.0.0.7

Immediately after we updated we started noticing the crashes we are experiencing now. The single thing we modified from our end in this migration was changing the old parameterInstance code to work with the new eventInstance setParameter functions. Since this was the only thing changed by us, we tested the oneshot events without any parameters but they still produce the crash.

Do you have any idea what could be causing this? We have provided the best logs we can. What are these pure virtual functions that seem to be called around these crashes? Do you think something might have gone wrong when we have migrated from the old version to the new one? This is rather serious as going back to the old version would bring back the other crash issue, so we are quite eager to find the cause of these problems.