Selecting ASIO instantly crashes FMOD

FMOD Studio 1.10.12 instantly crashes on Win10 1803 x64 if I select “ASIO” in preferences. What can I do to fix this? I’m using an RME Fireface 802 and all major DAWs can access the ASIO device without an issue.

Does this still happen when you don’t have your interface connected? Do you have any other DAWs open at the same time as FMOD Studio? If so, please close those DAWs and see if this happens again.

If you see a crash report dialog, could you please send that through?

In the meantime, could you try installing ASIO4ALL and see if the same crash happens then?

Yes.

No.

Btw, never had problems with multiple asio applications running in parallel.

How can I do that? I’m not allowed to upload such file types.

It also crashes with the ASIO4ALL driver installed. Note, I’m unable to select any specific ASIO driver at all. Switching from WASAPI to ASIO directly crashes FMOD.

Seems FMOD crashes if the JackRoute ASIO driver is installed (extremely useful open source tool to wire multiple audio applications together).

Here is a repro case:

  1. Install FMOD 1.10.12 on Win 10, x64 (I use version 1803)
  2. Install Jack for Windows from here https://github.com/jackaudio/jackaudio.github.com/releases/download/1.9.11/Jack_v1.9.11_64_setup.exe
  3. Register the JackRoute ASIO driver by running from an admin prompt regsvr32 "C:\Program Files (x86)\Jack\64bits\JackRouter.dll"
  4. Run FMOD
  5. Switch to ASIO -> Crash

Other DAWs like Reaper or Nuendo work fine with the driver.
Even if it turns out that using the JackRoute ASIO driver within FMOD cannot be supported, FMOD should not crash at all. Marking that driver unusable, not putting the driver into the list or showing an error message upon selecting and then switching to another one if available - these are all better options.

I have another ASIO enhancement for you to consider. This is how FMOD presents the ASIO driver:

It would be better to use the key Description of the respective ASIO driver from the registry path HKLM\SOFTWARE\ASIO\$ASIODRIVER as output device name, instead.

Thank you for bringing this to our attention. I’ve raised a bug report and we’ll look into it for a future release.

I’ve also put your suggestion to use the description key to display the name of the driver into our tracker.

In case it helps, I submitted a couple crash reports when I got a crash with ASIO recently (using my RME HDSP9632 card). I’ve never had any luck using ASIO with FMOD Designer or Studio. I used WASAPI with Designer (which worked fine), and am trying out Windows Sonic since WASAPI has that SRS Downmixing bass reduction problem (see here for more details No bass in Fmod ). My concern with Windows Sonic is I don’t know if it colours the sound in any way.

Thanks, I’m looking forward for a fix!

Regarding the JackRoute driver crash - this only happens with 64 bit FMOD Studio. If you were using the 32 bit version of FMOD Studio (and I’m assuming your other DAWs are 32 bit) then you won’t get this crash.

Unfortunately the hard crash is outside of our control. It happens as soon as FMOD Studio tries to query the JackRoute driver (eg. to get its name). The crash happens within the driver itself which appears to not work correctly in 64 bit applications. Because of this there’s no way to actually prevent FMOD Studio from crashing. It would be best to try and get in touch with the JackRoute devs to see if they can work out a fix for 64 bit applications.

Thanks a lot for writing back. Your findings are, however, not correct and that should be easily reproducible on your side. Try to run any 64-bit DAW (I tested with Reaper 5.975 x64 (free) and Bitwig Studio 2 x64, Nuendo 8 x64) and go to the ASIO driver list. You can observe the following things:

  1. If the JackRouter ASIO driver is not running (should be by default), the 64bit DAW does not crash and correctly lists the ASIO driver’s name “JackRouter” in it’s ASIO settings
  2. If the JackRouter ASIO driver is not running (should be by default), you can safely select the JackRoute ASIO driver. The 64bit DAW won’t be able to output audio and things like that, there may be an error message that this driver does not work, but the DAW will not crash.
  3. If the JackRouter ASIO driver is running (open the app “Jack Control” from the start menu and press on “Start”), you can select the JackRouter ASIO driver and the 64bit DAW will work without any issues.

So my DAWs are not 32bit. They are all 64bit and they work fine with the JackRouter driver. Even if the driver is not active (= audio interface device is unplugged/Jack Control isn’t started).

What I can reproduce on my side is that the 32bit version of FMOD works fine if the driver is installed.

  1. I can open the list of ASIO drivers without any crash
  2. The drivers in the list use the correct names stored under HKLM\SOFTWARE\ASIO\$ASIODRIVER in the Description key
  3. If a driver has been selected but it’s device isn’t plugged in/JackRouter isn’t started, there is an understandable error message without any crash
  4. If the driver has been selected with the device being plugged in/JackRouter started, FMOD works flawlessly

So the 64bit version of FMOD seems to do some things in a special way, because

  • 32bit FMOD and major x64 DAWs can list the available ASIO drivers just fine
  • 32bit FMOD and major x64 DAWs list the correct ASIO driver names intended to be shown to a user
  • 32bit FMOD and major x64 DAWs work flawlessly with the JackRouter ASIO driver

while

  • 64bit FMOD crashes listing exactly the same available ASIO drivers
  • 64bit FMOD lists “wrong” internal names used by ASIO driver developers if it doesn’t crash listing the available ASIO drivers

As long as the 64bit version of FMOD is the only application crashing with the driver being installed, the jack2 developers will point me to its developers. Without very technical specifics (like which Jack-API calls lead to problems) or easily reproducible steps (which should not work only with the x64 version of a single closed source application), opening an issue ticket on their GitHub page won’t be of much use for anybody.

With the vast amount of available ASIO drivers, I think it makes sense for FMOD to find a way of getting the list of the available ASIO drivers without crashing, at least, as other x64 versions of major DAWs do. Getting it to run with the driver would be preferable as the 32bit version of FMOD is already able to.

Unfortunately since the crash occurs within the JackRoute driver it is outside of our control to fix this. We don’t know how other DAWs handle this driver so we can’t really comment on why it works in some applications and not others. From our internal investigation, we are unable to debug what is going wrong as the crash occurs once FMOD starts to query the driver itself.

We are looking at alternatives to handling crashes that occur due to faulty drivers, but we regrettably aren’t able to resolve it in such a way that would enable you to use JackRoute with FMOD Studio 64 bit.

It seems that FMOD 1.10.14 is able to ignore crashing ASIO drivers. Can you confirm this? I got v1.10.14 running in ASIO mode while v1.10.13 crashes.

The reported driver name of my RME Fireface 802 is still wrong. FMOD 32bit version shows the correct driver name as all of my 64bit DAWs do.

The 64-bit version of FMOD Studio 1.10.14 works around the Jack ASIO driver’s problems by skipping it when enumerating drivers.

The issue about the RME Fireface 802’s driver name being displayed incorrectly has been added to our bug tracker, and will be fixed in an upcoming release of FMOD Studio.